我想在網絡上部署on Rails應用程序一個Ruby,爲此事我已經使用/部署以下工具:的Ruby on Rails應用程序顯示文件的索引,而不是應用程序
- Capistrano的,以部署應用程序文件複製到目標位置
- 的乘客的Phusion模塊的Apache
我已經通過sudo a2enmod passenger
使乘客模塊。我還通過gem安裝程序安裝了乘客gem,並將其添加到我的rails應用程序的Gemfile中。 然後我爲應用程序'myapp'創建了一個Apache虛擬主機。
myapp.conf
Alias /myapp /var/www/myapp/current/public
<VirtualHost *:80>
DocumentRoot /var/www/myapp/current/public
SetEnv SECRET_KEY_BASE 592da***************************************
<Directory /var/www/myapp/current/public>
PassengerEnabled on
PassengerResolveSymlinksInDocumentRoot on
PassengerAppRoot /var/www/myapp/current
PassengerAppType rack
PassengerStartupFile config.ru
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
的虛擬主機的工作,但是當我在Web瀏覽器訪問URL,它顯示在/ var/WWW/MYAPP /電流/公共文件的索引,而不是實際的應用程序。其原因似乎是乘客沒有啓動,但我無法弄清楚爲什麼。我試圖調整myapp.conf文件來幫助apache和乘客檢測應用程序,但沒有成功。
任何人都可以幫我解決這個問題嗎?提前致謝。
附加信息:該應用程序部署在Raspberry Jessie作爲操作系統的Raspberry Pi 3上。
感謝您的回答。我使用你的代碼,並使用命令'passenger-config about ruby-command'指示的ruby路徑填充PassengerRuby。不幸的是,這並沒有解決問題。當重新加載Apache時,我仍然獲取文件索引,而不是當我連接到URL的應用程序。 – alexandrejpierre