问题
web应用本地调试无问题。发布后网页加载不全,只能显示一部分元素。
现象
F12查看浏览器后加载的元素后,发现ajax数据加载不全,js部分也没有加载,但有的页面是好的。 逐步筛查到生产环境的nginx。
cat /var/log/nginx/error.log
open()"/var/lib/nginx/tmp/proxy/8/02/0000000028"failed (13: Permission denied)whilereading upstream
原因
需要修复权限不足的问题,尝试过在配置文件中使用 代码账号、nginx账号、root账号 代码账号,在处理日志时会发生权限问题,生产账号在代理是会发生权限问题,最终选中了root账号作为配置文件。 具体如下
ll/var/lib/nginx/tmp/
drwx------ 2 root root 4096 Jul 5 23:25 client_body
drwx------ 2 root root 4096 Jul 5 23:25 fastcgi
drwx------ 6 root root 4096 Aug 17 23:05 proxy
drwx------ 2 root root 4096 Jul 5 23:25 scgi
drwx------ 2 root root 4096 Jul 5 23:25 uwsgi
nginx配置文件保持用户为root,不要使用服务器的生产账号名或nginx。如下:
vim/etc/nginx/nginx.conf
#userproduction account; # wrong
userroot;
保存后重启nginx