Nginx + PHP(php-fpm)遇到的502 Bad Gateway 错误,该如何解决,有哪些方法?
网站间隙性502是怎么回事?怎么解决?在高并发下(3000+),就很容易出现104 revc,nginx直接502了,为什么会不稳定?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
网站间隙性502是怎么回事?怎么解决?在高并发下(3000+),就很容易出现104 revc,nginx直接502了,为什么会不稳定?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
在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+ 的并发可以导致配置不好的服务器失去响应。