一开始我做了一个简单的设置,因为只有网络服务电话才能访问应用程序。
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。
答案 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
的形式访问图像