今天有同事反馈某系统的页面出现无法正常加载的问题,打开控制台看了一下,部分js文件的加载出现错误:“net::ERR_INCOMPLETE_CHUNKED_ENCODING” 。
其实之前就遇到过这个问题,当时是直接找OP解决,他们说是磁盘空间不够导致的。于是登录对应的机器查看,果然看到有分区报了错误。
于是找了OP对对应分区日志进行了清理,结果错误还是照样存在。
image.png
试着重启了nginx服务,问题依旧存在。
去查了一下nginx的错误日志,果然发现了问题:
2021/03/19 18:35:16 [crit] 18788#0: *118823 open() "/usr/local/nginx/proxy_temp/3/80/0000001803" failed (13: Permission denied) while reading upstream, client: 119.36.242.34, server: xxxx.xxxxx.com, request: "GET /public/dll/dll_d017321.js HTTP/1.1", upstream: "http://127.0.0.1:7002/public/dll/dll_d017321.js", host: "xxx.xxxxx.com", referrer: "https://xxxx.xxxxxx.com/login"
问题应该就出在 nginx/proxy_temp
目录,该文件夹有什么用呢?
当加载的文件量超过`proxy_temp_file_write_size`所设置的值时,nginx会将文件写入缓存到proxy_temp文件夹中。
该问题应该是与先前修改了nginx的启动用户有关,最简单的解决方法是清空缓存文件,于是执行了以下操作,删除了nginx的缓存文件。
rm -rf /usr/local/nginx/proxy_temp/*
重新访问后,系统恢复正常。
网友评论