2011-05-31 53 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