禁止所有文件使用 Nginx 403
我在CentOS 5盒子上安装了NGINX和PHP-FPM,但正在努力让它为我的任何文件提供服务 - 无论PHP与否。
Nginx以www-data:www-data的形式运行,默认的“Welcome to nginx on EPEL”网站(由root:root拥有644个权限)加载良好。
nginx 配置文件有一个包含指令 /etc/nginx/sites-enabled/*.conf,我有一个配置文件示例.com.conf,因此:
server {
listen 80;
Virtual Host Name
server_name www.example.com example.com;
location / {
root /home/demo/sites/example.com/public_html;
index index.php index.htm index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/demo/sites/example.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
}
尽管public_html由www-data:www-data拥有2777文件权限,但本网站无法提供任何内容 -
[error] 4167#0: *4 open() "/home/demo/sites/example.com/public_html/index.html" failed (13: Permission denied), client: XX.XXX.XXX.XX, server: www.example.com, request: "GET /index.html HTTP/1.1", host: "www.example.com"
我发现许多其他帖子的用户从nginx获得403,但我见过的大多数帖子都涉及Ruby / Passenger的更复杂的设置(过去我实际上已经成功了),或者仅在涉及上游PHP-FPM时才收到错误,因此它们似乎没有什么帮助。
我在这里做过一些愚蠢的事情吗?