ClientAbortException: java.io.IOException: Broken pipe异常的心酸历程

环境:nginx+tomcat+springmvc前后端分离项目

异常场景:导出大数据文件时报此异常,其他功能无此异常;异常多次发生后,nginx出现访问异常;

万里长征:(1)搜索了各种技术文章,调整了前端、后端、nginx代理请求等各种请求超时时间,问题没有解决;(2)测试并确认了不是网络异常引起的;(3)排查了前端、后端,甚至重写了相关导出功能代码进行优化,问题仍然没有解决;

革命胜利:系统日志、请求日志等各种分析无果后,想到了nginx的日志error.log,仔细分析日志发现了"/usr/local/nginx/proxy_temp/0/12" failed (28: No space left on device) while reading upstream",然后查询了磁盘使用情况df -h,发现/dev/vda1使用100%。然后逐级查找具体大文件,删除了一些几年前的文件,释放了些空间再次导出excel就不报Broken pipe异常了。

彩蛋:中间还怀疑过nginx缓存文件的权限,然后各种各种授权chown -R nginx:nginx

/usr/local/nginx/proxy_temp/**

你可能感兴趣的:(javanginx)