Connection reset by peer问题记录
Connection reset by peer问题记录
今天在将原服务迁移到一台新的服务器时遇到部分请求报 Connection reset by peer 的问题。
问题描述
具体是这样的,nginx,mysql,kafka,Apollo,以及java程序等部署完成后,发现服务部分请求一直请求失败,查看日志发现 Connection reset by peer,大概看了一下这些请求,发现与不报错的区别是这些请求响应普遍较大,于是调整了tomcat,nginx的一些资源大小的配置,包括proxy_buffer_size
等,但是仍然报错,仔细思考,原服务器并没有这种情况,新服务器出现,大概率是配置的问题,随去检查了nginx日志,发现有错误记录,有了点眉目了,具体报错信息如下
4654 open() "/usr/local/nginx/proxy_temp/7/07/0000000077" failed (13: Permission denied) while reading upstream
大概意思是,nginx是在写代理 “临时文件” proxy_temp下文件时候出现了权限不足,也就是当资源过大时,nginx会将文件写入临时目录,但是这里出现了权限不足,查看了一下
解决方案
proxy_temp文件用户为 root权限,而nginx进程worker是nobody,
- 将修改proxy_temp目录权限与worker一致
chown -R nobody:nobody /usr/local/nginx/proxy_temp
修改后,查看发现再无报错,问题解决。 - 还有一种解决办法就是不让其写入临时文件,提升
proxy_temp_file_write_size
大小,这样避免写入临时文件,也可以进行解决。
- 16
- 0
-
分享