Heim >Backend-Entwicklung >PHP-Tutorial >nginx-php5-fpm - Nginx + PHP(php-fpm)遇到的502 Bad Gateway 错误,该如何解决,有哪些方法?

nginx-php5-fpm - Nginx + PHP(php-fpm)遇到的502 Bad Gateway 错误,该如何解决,有哪些方法?

WBOY
WBOYOriginal
2016-06-06 20:29:47962Durchsuche

网站间隙性502是怎么回事?怎么解决?在高并发下(3000+),就很容易出现104 revc,nginx直接502了,为什么会不稳定?

回复内容:

网站间隙性502是怎么回事?怎么解决?在高并发下(3000+),就很容易出现104 revc,nginx直接502了,为什么会不稳定?

在php-fpm.conf中把requestslowlogtimeout设为1秒,在slowlog中查看是否有耗时超过1秒的代码.看看是不是有curl或者filegetcontents这些可能会产生较长网络I/O耗时的代码.优化代码,能够为所有PHP-FPM工作进程减负,这个才是提高性能的根本方法.还有,3000+的并发不是小数目,几百并发就能让普通PC吃满CPU了,毕竟Nginx/PHP/MySQL都要吃CPU.

先看看php的慢日志。
http://segmentfault.com/a/1190000002686153

我也遇到同样的问题 不知道啥原因

如果加上高并发这个条件,那么一般是PHP-FPM处理速度赶不上外部接入的速度,
可以增加PHP-FPM连接数

502是nginx报的,不是PHP报的,一般是执行时间超长,你可以试试 settimelimit(0)

查看系统日志,502大部分是因为程序函数错误导致的

请说明服务器环境,CPU ,内存,3000+ 的并发可以导致配置不好的服务器失去响应。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn