Passenger和Apache2显示文件目录结构而不是应用程序

时间:2011-11-12 16:02:45

标签: ruby-on-rails apache2 passenger

我在passenger-3.0.9和apache2上设置了rails app。但是当通过apache2执行rails时,即http / localhost,它显示了rails app文件结构。而不是运行应用程序。我的日志是

  

[2011年11月12日星期六21:20:36] [通知] Apache / 2.2.17(Ubuntu)   Phusion_Passenger / 2.2.11 PHP / 5.3.5-1ubuntu7.3与Suhosin-Patch   已配置 - 恢复正常操作

<VirtualHost *:80> 
  ServerName localhost 
  DocumentRoot /var/www/project_name 
  <Directory /var/www/project_name> 
    Options Indexes FollowSymLinks -MultiViews AllowOverride all Order allow,deny allow from all
  </Directory> 
</VirtualHost>

2 个答案:

答案 0 :(得分:2)

将DocumentRoot设置为公共文件夹,以便:

DocumentRoot /var/www/project_name/public

在生产中,如果使用capistrano进行部署,则可能会成为

DocumentRoot /var/www/project_name/current/public

您还需要将目录设置更新为公用文件夹。

如果您的虚拟主机未指向您的公用文件夹,则Apache无法正确地知道应用程序资产的提供位置。

答案 1 :(得分:0)

您是否设置了PassengerAppRoot属性?

DocumentRoot指向应用的静态部分,而PassengerAppRoot用于指向rails应用

Here是一篇关于它的文章