我正在使用root用户运行父进程,并且使用我的用户名有权读取/写入静态文件夹。我得到了许可错误。
2016/02/15 13:43:09 [error] 6944#0: *855 open() "/home/jisu/sited/site/static/css/bootstrap.min.css" failed (13: Permission denied), client: 24.185.93.168, server: web.site.edu, request: "GET /static/css/bootstrap.min.css HTTP/1.1", host: "web.site.edu", referrer: "http://web.site.edu/"
PROCS:
[jisu@web home]$ ps -ef | fgrep nginx
root 2603 1 0 Feb09 ? 00:00:00 nginx: master process /usr/sbin/nginx
jisu 6944 2603 0 13:38 ? 00:00:00 nginx: worker process
jisu 6945 2603 0 13:38 ? 00:00:00 nginx: worker process
jisu 7015 6846 0 13:44 pts/0 00:00:00 grep -F --color=auto nginx
目录路径也是正确的:
location /static/ {
alias /home/jisu/sited/site/static/;
}
如果您还有其他想法,请告诉我。
答案 0 :(得分:2)
将SELinux更改为“许可”模式解决了此问题。它处于“强制执行”模式。
答案 1 :(得分:0)
nginx是否可以访问整个路径层次结构?既然你有/ home,那么nginx需要能够将+ x放入/ home到/ static的每个目录中。不幸的是,据我所知,只有它只能访问该目录是不够的。它不需要能够写入每个,但它需要能够“执行”路径中的每个目录。