403使用nginx + rails + passenger时禁止使用

Max*_*Max 1 ubuntu ruby-on-rails passenger nginx

当我尝试访问运行在nginx和乘客之上的rails应用程序时,我得到403.以下是日志文件中的错误:

2013/05/09 13:52:34 [error] 27787#0: *1 directory index of "/var/www/Tread-Forth/current/public/" is forbidden, client: 192.249.16.60, server: treadforth.com, request: "GET / \
HTTP/1.1", host: "www.treadforth.com"
Run Code Online (Sandbox Code Playgroud)

即使我以root身份运行nginx,也会出现此问题,因此我认为这不是权限问题.我认为问题是我的nginx.conf文件中没有passenger_ruby或没有passenger_root定义.问题是,我不知道这些值在配置文件中的位置,我不知道它们的值应该是什么.任何帮助都会很棒.这是我的conf文件供参考:

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    #passenger_root /usr/local/bin/passenger;
    #passenger_ruby /usr/local/bin/ruby;

    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  .treadforth.com;
        root /var/www/Tread-Forth/current/public;
        passenger_enabled on;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以看到我尝试过的乘客注释和passenger_ruby的注释版本.当我取消注释这些时,nginx无法启动但不会产生任何错误消息.

小智 6

您可以通过以下方式检查乘客安装passenger-config --root的路径以及红宝石安装的路径which ruby.