lnmp下nginx出现5xx问题解决汇总

Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于读取资源的等没有执行完毕而导致PHP-CGI进程终止。

Nginx 503 Service Temporarily Unavailable  服务暂时不可用,由于临时的服务器维护或者过载,服务器当前无法处理请求,(比如并发大的情况下)

Nginx 504 Gateway Time-out的含义是没有请求到可以执行的PHP-CGI

 

502 汇总

 

1、php进程死亡

查看 service php-fpm status ps -aux |grep php

然后 service php-fpm start 启动php-fpm

 

2、php-cgi进程数不足

 

ps -aux | grep php-fpm | grep pool | wc -l

 

此原因的问题表现为:动态请求有时出现502错误,一般没问题,这是并发高时php-cgi进程数不够用的表现

解决方法:修改php-fpm配置php-fpm.conf,将 60< /value> 中的数加大,max_children数的设置不仅取决于服务器硬件配置,而且和php程序的复杂度有关,一般4G内存可以设置到 120-200。修改后把php-fpm reload下;必要时是再修改nginx配置nginx.conf, 将 worker_processes 数调到与cpu数相等(worker_processes默认为1)

 

3、php-cgi 进程连接超时

 

php进程运行了一段时间出现502,这种情况可能是php.ini 没有加set_time_limit(0) ,也可能是被php-fpm限定了运行时间,

 

解决方案:php-fpm.conf request_terminate_timeout

 

4、磁盘空间不足

 

此原因较少 表现为502错误或者无法连接到服务器,无法连接到服务器是nginx也死了

这种情况的判断:启动php-fpm或者nginx时间较长,但最终启动失败。大概率是磁盘满了

df -lh 关注log 删除大量的日志文件

 

Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。

Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。

 

解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,而Nginx 504 Gateway Time-out则是与nginx.conf的设置有关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值