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

我在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配置了Suhosin-Patch的PHP / 5.3.5-1ubuntu7.3 – 恢复正常操作

 ServerName localhost DocumentRoot /var/www/project_name  Options Indexes FollowSymLinks -MultiViews AllowOverride all Order allow,deny allow from all   

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

 DocumentRoot /var/www/project_name/public 

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

 DocumentRoot /var/www/project_name/current/public 

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

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

您是否设置了PassengerAppRoot属性?

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

这是一篇关于它的文章