首页 > Web开发 > 详细

php-fpm 502 bad gateway错误处理

时间:2014-03-01 17:33:36      阅读:567      评论:0      收藏:0      [点我收藏+]

 最近一个月经常有客服打电话抱怨页面出现502错误 起初以为是运行游戏程序问题(因为重启php-fpm进程没有用,只有重启游戏才能恢复),后来情况严重了:连论坛都出现了502错误,为了不等领导请喝茶,赶紧查了nginx日志,查出过去几天有各种错误 111: Connection refused  104: Connection reset by peer


[error] 31329#0: *1027762 connect() failed (111: Connection refused) while connecting to upstream ....upstream:"fastcgi://127.0.0.1:9000",......

大致是php超时设置的太小,nginx fastcgi 缓存设置过小

后来查看了nginx 配置,fastcgi_buffers和连接超时这些都是缺省配置php-fpm.conf超时也设置了30s,感觉被php开发和原来的运维坑到了,果断狠心把这些东西都做了修改大致如下 :

在nginx.conf http段加


fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;


在php-fpm.conf里把request_terminate_timeout = 300

这里关于php—fpm超时设置的略大,还是根据实际情况设置吧


说明:

   fastcgi_connect_timeout 指定连接到后端FastCGI的超时时间

   fastcgi_send_timeout 指定向FastCGI传送请求的超时时间

   fastcgi_read_timeout 指定接收FastCGI应答的超时时间

   fastcgi_buffers 4 64k 设置了4个缓冲,每个缓冲64k,总大小(4+1)*64k。默认是和系统的页大小一致4k或8k

   作用:如果一个PHP脚本所产生的页面大小为256KB,那么会为其分配4个64KB的缓冲区来缓存;如果页面大小大于256KB,那么大于256KB的部分会缓存到fastcgi_temp指定的文件路径中

   fastcgi_buffer_size 64k 是指FastCGI服务器对应头部的缓冲区大小,通常与fastcig_buffers的一个缓冲区大小一致

   fastcgi_busy_buffers_size的默认值是fastcgi_buffers的两倍

   fastcgi_temp_file_write_size表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍

   request_terminate_timeout php 执行时间超时,可以解决Connection reset by peer的问题

 重启php-fpm 重启nginx

我是26号22点左右的时候修改的,昨天没有问题,今天没有问题,查看日志也没有再出现上面的104 111的错误


php-fpm 502 bad gateway错误处理,布布扣,bubuko.com

php-fpm 502 bad gateway错误处理

原文:http://leezqang.blog.51cto.com/1525874/1365140

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!