403使用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"
即使当我以根用户运行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;
}
}
您可以看到我尝试过的passenger_root和passenger_ruby的注释版本。 当我取消这些注释时,nginx无法启动,但不会产生任何错误消息。
您可以检查乘客的安装与道路passenger-config --root
和Ruby安装使用的路径which ruby
。
要找到passenger_root的路径:
$ passenger-config --root
要找到passenger_ruby的路径,请运行下面的内容,然后看到passenger_ruby路径
$ passenger-config --ruby-command
禁止表示您有权限问题。 检查您的目录和文件权限,以便它们可以被Web服务器读取。
链接地址: http://www.djcxy.com/p/32485.html