403使用nginx + rails +乘客时禁止

当我尝试访问运行在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" 

甚至当我作为根运行nginx时,会发生此问题,所以我不认为这是一个权限问题。 我认为问题是我没有在我的nginx.conf文件中定义passenger_rubypassenger_root 。 问题是,我不知道这些值在configuration文件中的位置,我不知道它们的值是什么。 任何帮助将是伟大的。 这里是我的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; } } 

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

您可以使用passenger-config --root来检查您的乘客安装路径,以及使用ruby进行ruby安装的路径。

要找到passenger_root的路径:
$ passenger-config –root

要查找passenger_ruby的路径,请运行下面的内容,然后看到passenger_ruby路径
$ passenger-config –ruby-command

禁止表示您有权限问题。 检查你的目录和文件权限,以便它们可以被你的网络服务器读取。