【发布时间】:2010-12-14 20:59:27
【问题描述】:
基本上,我的路线运行良好,Passenger 似乎正在加载 - 一切都是笨拙的。除了没有任何 Railsy 发生。这是我从启动服务器到第一个请求的 Nginx 日志(忽略不同的域/路由 - 这是因为我还没有移动新域,并且它返回 403 错误,因为公共文件夹中没有索引文件):
[ pid=24559 file=ext/nginx/HelperServer.cpp:826 time=2009-11-10 00:49:13.227 ]:
Passenger helper server started on PID 24559
[ pid=24559 file=ext/nginx/HelperServer.cpp:831 time=2009-11-10 00:49:13.227 ]:
Password received.
2009/11/10 00:49:53 [error] 24578#0: *1 directory index of "/var/www/***/current/public/" is forbidden, client: 188.221.195.27, server: ***, request: "GET / HTTP/1.1", host: "***"
2009/11/10 00:49:54 [error] 24578#0: *1 open() "/var/www/***/current/public/favicon.ico" failed (2: No such file or directory), client: 188.221.195.27, server: ***, request: "GET /favicon.ico HTTP/1.1", host: "***", referrer: "***"
RubyOnRails IRC 频道上有人建议这可能是网络服务器权限问题。我怀疑这可能是文件系统权限问题,但 Nginx 以 www-data 身份运行,Passenger 以 root 身份运行。
我可以从公共目录中加载静态文件,但没有启动 Rails 应用程序。有人有想法吗?想明白这一点,我的头正在逐渐融化!
编辑:这是 vhost 文件:
server {
listen 80;
server_name ***;
passenger_enabled on;
location / {
root /var/www/***/current/public;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
【问题讨论】:
-
检查您的日志。他们可能会为您提供更多线索。
-
哪些日志?问题中的日志是我的 Nginx 日志,Passenger 将写入这些日志,我周围还有其他人应该检查吗? :)
-
谁拥有 /var/www/imayges.co.uk 上的目录?
-
不要以root身份运行Passenger。如果有人控制了它,他们就可以访问您的系统。
-
您也应该发布您的虚拟主机文件。这可能有问题。但是你的帖子确实说禁止,如果这不是某种权限问题,我会感到惊讶,还有什么可能导致它被禁止。
标签: ruby-on-rails ruby nginx passenger capistrano