2011-05-31 50 views
0

使用railsready,然後乘客w/apache2,最終將我的應用程序複製到/ home/myapp。第一次部署rails應用程序,不能讓乘客上班?

插入乘客配置線到/etc/apache2/apache.conf底部與我的虛擬主機設定的說明:

的服務器名稱是軌道。

LoadModule passenger_module /home/myapp/.rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7/ext/apache2/mod_passenger.so 
PassengerRoot /home/myapp/.rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7 
PassengerRuby /home/myapp/.rvm/wrappers/ruby-1.9.2-p180/ruby 

<VirtualHost *:80> 
    ServerName rails 
    DocumentRoot /home/myapp/public 
</VirtualHost> 

當我打開IP地址時,我得到的只是apache「It Works」頁面。難道我做錯了什麼?

+0

我想你忘了在乘客的配置中也複製過。 – sarnold 2011-05-31 21:29:02

+0

我做過,裝載模塊,PassengerRoot,PassengerRuby線。把它們放在虛擬主機線 – John 2011-05-31 21:30:42

+0

的上方,但它們似乎並沒有將它納入你的問題。 – sarnold 2011-05-31 21:32:17

回答

2

你宣佈ServerName所以你必須使用它來訪問這個虛擬主機(而不是你所提到的IP地址)。連接到http://rails/

爲此,主機名稱rails必須解析爲您的服務器的IP。您可以將其添加到您的hosts file或使用配置爲解析爲此IP的真實域名。

或者您可以更改Apache的默認VirtualHostDocumentRoot,然後它將始終使用Rails應用程序進行響應。

+0

是的,改變默認工作。現在我有一個回形針錯誤來弄清楚。 – John 2011-05-31 22:59:21

1

嘗試:

<VirtualHost *:80> 
    ServerName rails 
    DocumentRoot /home/myapp/public 
    <Directory /var/www/robox/public> 
    AllowOverride all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

此外,您可能需要禁用默認站點。在Ubuntu中,你可以這樣做:

[sudo] a2dissite default 
[sudo] service apache2 restart 
+0

沒有。 thx爲嘗試 – John 2011-05-31 21:35:42

+0

行。接下來的事情是:它可能不匹配'ServerName'。你準確地在瀏覽器中輸入什麼來訪問這個應用程序? – Jits 2011-05-31 21:37:00

+0

Firefox,我收到這個錯誤。但它正在向IP解決。 apache2:無法可靠地確定服務器的完全限定的域名,使用THE_IP作爲服務器名稱 – John 2011-05-31 21:38:02