一聚教程网:一个值得你收藏的教程网站

热门教程

Nginx提示502、504错误解决办法收集

时间:2022-06-30 18:51:34 编辑:袖梨 来源:一聚教程网

错误提示原因分析:

解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,
而Nginx 504 Gateway Time-out则是与nginx.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是”max_children”,另一个是”request_terminate_timeout” ,但是这个值不是通用的,而是需要自己计算的。

方法一,临时解决办法:


综上所述,Nginx提示502和504错误的临时解决办法是:

1、调整php-fpm.conf的相关设置:

 代码如下 复制代码

32
30s

2、调整nginx.conf的相关设置:

 代码如下 复制代码

fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 256k;
fastcgi_buffers 16 256k;
fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 512k;

方法二,定时重启php-fpm:


标题3中所示的解决方案只能临时解决问题,而如果网站的访问量确实非常非常大,而Nginx+FastCGI只能对处理瞬间或短时间内的高并发有很好的效果,所以目前唯一的终极解决方案是:定时平滑重启php-cgi。

具体配置如下:

1、写一个非常简单的脚本:

 代码如下 复制代码
#vi /home/www/scripts/php-fpm.sh
    内容如下:
#!/bin/bash
# This script run at */1
/usr/local/php/sbin/php-fpm reload

2、将脚本添加至计划任务:

 代码如下 复制代码
#crontab -e
    内容如下:
*/1 * * * * /home/www/scripts/php-fpm.sh

注:为了省事起见,也可以不写脚本,直接在crontab里写入php-fpm的平滑重启命令。

热门栏目