从根网址

时间:2015-10-26 13:29:20

标签: ruby-on-rails apache passenger

我正在尝试使用apache(2.4.17),rvm和passenger(4.0.59)将rails 4.1.0应用程序部署到我的生产环境。

问题是,当我转到我的vhost的url(www.myapp.com)时,我一直收到公共目录的apache目录列表。但是:当我导航到我的rails-app中的路线时,例如; www.myapp.com/pages/1乘客启动应用程序,一切都按预期工作。

这是我的passenger.conf:

# /etc/apache2/conf-enabled/passenger.conf
LoadModule passenger_module /home/sander/.rvm/gems/ruby-2.1.0-preview2/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
    <IfModule mod_passenger.c>
       PassengerRoot /home/sander/.rvm/gems/ruby-2.1.0-preview2/gems/passenger-4.0.59
       PassengerDefaultRuby /home/sander/.rvm/gems/ruby-2.1.0-preview2/wrappers/ruby
     </IfModule>

我检查了apache模块已加载:

>> apache2ctl -M
...
passenger_module (shared)

虚拟主机配置:

<VirtualHost my-ip:80>
  ServerName www.myapp.com
  ServerAlias myapp.com

  DocumentRoot /srv/www/rails/myapp/current/public
  PassengerAppRoot /srv/www/rails/myapp/current
  RailsEnv production

  <Directory /srv/www/rails/myapp/current/public>
     Require all granted
     Options -MultiViews
  </Directory>
</VirtualHost>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

这个关于serverfault的答案帮助我解决了这个问题: https://serverfault.com/questions/731814/apachepassenger-not-serving-the-root-of-the-sinatra-application

Kami在自动索引模块中结合Phusion Passenger引用了Apache 2.4.17中的错误。

我通过评论Loadmodule ...

中的/etc/apache2/mods-enabled/autoindex.load行来停用了自动索引模块

重新启动Apache,现在一切正常。