web发布后网页加载不全


问题

web应用本地调试无问题。发布后网页加载不全,只能显示一部分元素。

现象

F12查看浏览器后加载的元素后,发现ajax数据加载不全,js部分也没有加载,但有的页面是好的。 逐步筛查到生产环境的nginx。

cat /var/log/nginx/error.log
open() "/var/lib/nginx/tmp/proxy/8/02/0000000028" failed (13: Permission denied) while reading 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
# user production account; # wrong
user root;

保存后重启nginx