查看nginx 日志发现报错
[root@iZ62t11vp0xZ logs]# tail error.log
2016/11/11 15:04:20 [crit] 8655#0: *21 open() "/usr/local/nginx/proxy_temp/1/00/0000000001" failed (13: Permission denied) while reading upstream, client: XXXXXXXX, server: agent.ibingogame.net, request: "GET /agent-server-webapp/res/js/easyui/jquery.easyui.min.js HTTP/1.1", upstream: "http://127.0.0.1:9081/agent-server-webapp/res/js/easyui/jquery.easyui.min.js", host: "58.96.175.135", referrer: "http://XXXXXXXX/agent-server-webapp/adminHome"
发现是由于%nginx% 目录下的proxy_temp 没有权限造成的
ginx 的工作进程对大文件做了缓存,这个缓存在 %nginx%/proxy_temp 目录下,主进程在读取缓存的时候由于权限问题而无法访问。ps nginx 可以看出主进程用户是 webapp(启动 nginx 的用户),工作者进程是 nobody 用户(nginx 默认的工作者用户就是 nobody,如果你没有配 user 指令的话),proxy_temp 目录所有者就是工作者进程的用户(可以 ll proxy_temp 对此进行验证)。
停止 nginx(nginx -s stop),chown -R 对 nginx 所有目录权限重新设定成 webapp,然后在 nginx.conf 的 worker_processes 指令前添加指令
user webapp;
最后 webapp 用户重启 nginx 即可。
当使用Nginx作为代理服务器时,遇到加载JS文件报net::ERR_CONTENT_LENGTH_MISMATCH错误,原因是proxy_temp目录权限问题。Nginx的工作进程(nobody用户)在尝试访问由webapp用户启动的主进程缓存的大型文件时权限不足。解决方案是停止Nginx,将所有目录权限更改为webapp用户,然后在nginx.conf中添加'user webapp;'指令,最后以webapp用户身份重启Nginx。

3438

被折叠的 条评论
为什么被折叠?



