总结nginx出现502的原因及解决方案

首先看一下官方对502的描述及说明:
502-Bad Gateway
坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网管服务器,通常是反向代理服务器下面的节点出问题所导致的。

Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的。这些错误一般都不是nginx本身的问题,一定要从后端找原因!但nginx把这些出错都揽在自己身上了,着实让nginx的推广者备受置疑,毕竟从字眼上理解,bad gateway?

1.查看当前的PHP FastCGI进程数是否够用

max-children和max-requests

2.部分PHP程序的执行时间超过了Nginx的等待时间

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

request_terminate_timeout

一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右

4.工作中遇到一例比较特殊的情况,就是程序代码中,有一段请求外部的url,因为解析的问题导致,因为请求解析时间过长,导致出现了502

 

此条目发表在未分类分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注