2016-06-20 34 views
0

我想在網絡上部署on Rails應用程序一個Ruby,爲此事我已經使用/部署以下工具:的Ruby on Rails應用程序顯示文件的索引,而不是應用程序

  1. Capistrano的,以部署應用程序文件複製到目標位置
  2. 的乘客的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上。

回答

0

試試這個。這是針對sub uri deployment.Error是因爲PassengerRuby路徑還沒有被提及。也請通過此鏈接 https://www.phusionpassenger.com/library/deploy/apache/deploy/ruby/

Alias /myapp /var/www/myapp/current/public 
<VirtualHost *:80> 
SetEnv SECRET_KEY_BASE 592da*************************************** 
PassengerRuby /path-to-ruby /* replace this with your ruby path 
<Location /myapp> 
    PassengerBaseURI /myapp 
    PassengerAppRoot /var/www/myapp/current 
    PassengerEnabled on 
</Location> 

<Directory /var/www/myapp/current/public> 
    Allow from all 
    Options -MultiViews 
    Require all granted 
</Directory>  
</VirtualHost> 
+0

感謝您的回答。我使用你的代碼,並使用命令'passenger-config about ruby​​-command'指示的ruby路徑填充PassengerRuby。不幸的是,這並沒有解決問題。當重新加載Apache時,我仍然獲取文件索引,而不是當我連接到URL的應用程序。 – alexandrejpierre