使用passenger_base_uri问题进行调试

时间:2011-05-19 21:43:45

标签: ruby-on-rails nginx passenger

一开始我做了一个简单的设置,因为只有网络服务电话才能访问应用程序。

nginx.conf看起来像这样:

location /pippa/ {
            root /var/www/apps/pippa/public;
            passenger_enabled on;
            rack_env production;
}

一切正常,但现在我必须访问项目资产中的一些图片,因此我需要设置“Deploying Rails to sub URI”中描述的passenger_base_uri

在我的nginx.conf中,我做了以下事情:

...
location /pippa/ {
            root /var/www/apps/pippa;
            passenger_base_uri /pippa;
            passenger_enabled on;
            rack_env production;
}
...

在我的rails应用程序中,我做了:

ln -s /var/www/apps/pippa/public /var/www/apps/pippa/pippa

现在可以访问应用公共文件夹下的所有资源,但应用本身不是。

如果我对正在运行的应用程序进行正常的webservice调用,现在我从Nginx获得404.

我正在使用Passenger 3和nginx 1.0。

1 个答案:

答案 0 :(得分:0)

我认为您应该执行以下操作:

cd /var/www/apps/pippa/public; ln -s /var/www/apps/pippa/app/assets/images .

将conf文件更改为:

location /pippa/ {
        root /var/www/apps/pippa/public;
        passenger_enabled on;
        rack_env production;
        passenger_base_uri /images
 }

删除您创建的其他软链接,重新启动nginx服务器&您应该能够以http://yoursite.com/images

的形式访问图像