Nginx 502 Bad Gateway错误触发条件与解决办法汇总(3)

  二、增加缓冲区容量大小

  将nginx的error log打开,发现“pstream sent too big header while reading response header from upstream”这样的错误提示。查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。参考老外写的修 改办法增加了缓冲区容量大小设置,502问题彻底解决。后来系统管理员又对参数做了调整只保留了2个设置参数:client head buffer,fastcgi buffer size。

  三、request_terminate_timeout

  如果主要是在一些post或者数据库操作的时候出现502这种情况,而不是在静态页面操作中常见,那么可以查看一下php-fpm.conf设置中的一项:

  request_terminate_timeout

  这个值是max_execution_time,就是fast-cgi的执行脚本时间。

  0s

  0s为关闭,就是无限执行下去。(当时装的时候没仔细看就改了一个数字)

  发现,问题解决了,执行很长时间也不会出错了。

  优化fastcgi中,还可以改改这个值5s 看看效果。

  php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。

  如果您还有其他的解决方法,欢迎与编辑沟通!当然,如果你的网站并发量的确很大,那么最终也许需要寻求系统级的解决办法……

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fdec3297ce04db766051ebfe23d81d76.html