第一次部署rails app,无法让乘客上班?

时间:2011-05-31 21:27:40

标签: ruby-on-rails ruby-on-rails-3 passenger

使用了railsready,然后是乘客w / apache2,最后将我的应用程序复制到/ home / myapp。

将乘客配置行插入底部的/etc/apache2/apache.conf以及我的虚拟主机设置:

服务器名称为rails。

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”页面。我做错了吗?

2 个答案:

答案 0 :(得分:2)

您声明了ServerName,因此您必须使用它来访问此VirtualHost(而不是您提到的IP地址)。连接到http://rails/

要使其正常工作,主机名rails必须解析为服务器的IP。您可以将其添加到hosts file或使用配置为解析此IP的真实域名。

或者您可以更改Apache的默认DocumentRoot的{​​{1}},然后它将始终使用Rails应用程序进行响应。

答案 1 :(得分: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