passenger_base_uri不在乘客4.0.0rc4上工作

时间:2013-05-06 18:22:40

标签: ruby ruby-on-rails-3 ubuntu passenger

我们正在生产ruby 2.0.0-p0服务器上passenger 4.0.0rc nginx/1.2.7ubuntu 12.04)正在运行rails 3.2.12passenger_base_uri)。请注意,我们的nginx.conf中的passenger_base_uri未指向base subdir。相反,它什么都不返回这是{nginx.conf中的server { listen 80; server_name 154.49.55.6; root /ebs/www/; passenger_enabled on; rails_env production; passenger_base_uri /nbhy; #for rails >= 3.1, assets pipeline location ~ ^/assets/ { expires max; add_header Cache-control public; add_header ETag ""; break; } }

symlink nbhy

在/ ebs / www下的服务器上创建了/ebs/www/nbhyop/current/public,并指向/nbhynginx error log是rails app的基础uri。

这是[ 2013-05-06 17:47:00.5469 718/7f5097fc0700 Pool2/Implementation.cpp:1098 ]: [App 838 stdout] 2013/05/06 17:47:26 [error] 735#0: *104 open() "/ebs/www/authentify/session" failed (2: No such file or directory), client: 6.5.5.94, server: 154.49.55.6, request: "POST /authentify/session HTTP/1.1", host: "154.49.55.6", referrer: "http://154.49.55.6/nbhy/signin"

{{1}}

上面的路径应该是:/ ebs / www / nbhy / authentify / session而不是/ ebs / www / authentify / session。

相同的配置适用于乘客3.x.如何解决这个问题?谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

我认为您使用passenger_base_uri是出于错误的目的。通过指定passenger_base_uri,您说:

“我有另一个网络应用程序,生活在/ nbhy下”

我在Nginx输出中看到你正在进行POST / authentify / session。由于您没有访问/ nbhy下的任何网址,所以passenger_base_uri选项无效。如果你POST / nbhy / authentify / session,它就会生效。

也许您想将虚拟主机的根目录设置为/ ebs / www / nbhyop / current / public?