問題
今天打開個人主頁http://cdfive.com時發現頁面是空白,F5刷新幾次后能顯示。
在chrome里Ctrl+Shift+N打開新窗口再次訪問,頁面顯示空白,多次F5刷新后仍然空白。
F12打開控制台,在Network里看到里面獲取主頁的jquery.js報錯,status是failed,點擊failed展開看到錯誤信息為net::ERR_CONTENT_LENGTH_MISMATCH。
在Console里也看到該錯誤,jquery.js獲取失敗導致首頁js報錯。
net::ERR_CONTENT_LENGTH_MISMATCH 200
(index):13 Uncaught ReferenceError: $ is not defined
at (index):13
分析
查詢nginx日志
cd /usr/local/nginx/
tail -fn 50 error.log
2022/01/15 16:01:29 [crit] 4775#0: *703880 writev() "/usr/local/nginx/proxy_temp/7/24/0000042247" failed (28: No space left on device) while reading upstream, client: x.x.x.x, server: xxx.com, request: "GET /.../jquery.1.10.2.js HTTP/1.1"
, upstream: ...
通過df -h
發現磁盤空間占用100%
解決
從/根目錄開始,通過命令:
du -sh *
du -h --max-depth=1
找出占空間較大的目錄。
發現是/root/logs/csp
目錄下Sentinel日志文件過多的原因。
cd /root/logs/csp
ll | wc -l
有5351個日志文件。
rm -rf *.2021*
ll | wc -l
將2021年的日志文件刪除,剩下241個文件,空間釋放了15G
然后df -h
,磁盤空間空間61%
再次訪問主頁,頁面展示OK,nginx日志正常。
參考
- ERR_CONTENT_LENGTH_MISMATCH解決方法 https://blog.csdn.net/shenxiaomo1688/article/details/106799904
- 【日志】查看Nginx的日志路徑 https://www.cnblogs.com/LeeXiaoFeng/p/11417273.html
- Linux磁盤空間滿刪除大文件后空間沒有釋放 https://www.cnblogs.com/cdfive2018/p/14072395.html