一、错误提示说明:

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的设置有关。

php-fpm.conf有两个至关重要的参数,一个是”max_children”,另一个是”request_terminate_timeout” ,这个值是需要根据自己服务器配置来计算的,计算的方式如下:

request_terminate_timeout

如果你的服务器性能足够好,且宽带资源足够充足,可以直接将”request_terminate_timeout”设置成0s(不设置时间限制)。

而如果你做不到这一点,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越高,建议20分钟-30分钟左右。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒。

max_children

这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。设置”max_children”也需要根据服务器的性能进行设定,每一个php-cgi所耗费的内存在20M左右。

如果”max_children”设置的较小,比如5-10个,那么php-cgi就会“很累”,处理速度也很慢,等待的时间也较长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个

错误。

三、临时解决办法:

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

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

max_children32

request_terminate_timeout30s

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;

四、解决方案:

上面的解决方案只能临时解决问题,而如果网站的访问量确实非常非常大,而Nginx+FastCGI只能对处理瞬间或短时间内的高并发有很好的效果,所以真正的解决方案是:定时平滑重启php-cgi。

在crontab里写入php-fpm的平滑重启命令

/usr/local/php/sbin/php-fpm reload

Enjoy it !

原文:https://www.cnblogs.com/daizhongxing/p/11526600.html

iis php 假死 nginx,网站假死 重启NGINX无效 必须重启PHP 原因分析相关推荐

  1. Nginx网站服务配置(Nginx服务基础,访问状态统计,访问控制,虚拟主机)

    编译安装Nginx服务 关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 安装依赖包 编译安装Nginx 创建运行用户.组 检查.启动.重载配.停止Nginx 增加Nginx系统服 ...

  2. Nginx网站服务(安装nginx,nginx访问配置)

    目录 一,nginx概述 1,什么是nginx? 2,Nginx应用场景 3.,Nginx的httpd七层代理和四层代理 二,Nginx和Apache的区别 三,手工编译安装nginx服务 1,关闭防 ...

  3. 如何服务器上查找nginx网站目录下,查看nginx安装目录和版本的多种方法、命令详细介绍...

    Nginx安装目录在哪儿,版本时多少?有时候我们接受了一个别人配置的Nginx Web服务器,首先想确认这些基本信息.其实可以查看Nginx安装目录和安装版本的方法/命令有好多种.(注意:以下命令有的 ...

  4. nginx 根据目录指定root_部署Nginx网站服务实现访问状态统计以及访问控制功能

    Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站h ...

  5. 解决:IIS 假死,运行一段时间服务器上所有网站打不开,必须要重启服务器才行,重启IIS都没用。怎么解决,解决方案

    tip:我服务器问题是 每个5-6天后,服务器上的所有网站都不能访问,重启IIS无用,必须重启服务器! 后,请教周华伟周经理后,找到解决方案如下: 第一原因: 这是程序池造成的,网站运行时,造成服务器 ...

  6. 高并发编程-线程通信_使用wait和notify进行线程间的通信2_多生产者多消费者导致程序假死原因分析

    文章目录 概述 jstack或者可视化工具检测是否死锁(没有) 原因分析 概述 高并发编程-线程通信_使用wait和notify进行线程间的通信 - 遗留问题 我们看到了 应用卡住了 .... 怀疑是 ...

  7. mysql假死_win7系统假死的5种情况和处理方法

    情景一:开机假死 开机就假死一般情况是在进入桌面之后,鼠标就变成圆圈状,一直在忙碌状态,会持续很长一段时间,要结束的话只有强制关机. 出现这一类问题的原因比较多,可以从几个方面来看.首先,最好不要安装 ...

  8. java win10窗口启动假死_win10桌面假死如何解决

    win10系统兼容性强,可以跨平台和设备操作,现在的电脑基本上都是预安装的win10系统,不过win10系统和win7系统相比也有不完善的地方.遇到桌面假死的朋友也不少.今天, 我就教大家如何解决wi ...

  9. 打开服务器文件卡住了,解决避免大部分电脑死机或“假死”的现象转贴自蓝天上的雄鹰...

    注意以下问题可以解决避免大部分电脑死机或"假死"的现象: 1.在同一个硬盘上安装太多的操作系统会引起系统死机.最好重装前用PQ先格式化干净再装. 2.CPU.显示卡等配件不要超频过 ...

最新文章

  1. 与其他CA合作签发证书 谷歌赛门铁克之争接近尾声
  2. php调用搜狗ocr接口,搜狗ocr识别接口
  3. 阿里云服务器(BT面板)Vue+Node(Egg)部署流程
  4. 经典的三栏布局:圣杯布局,双飞翼布局,flex布局
  5. boot spring 没有父子容器_Spring 系列(二):Spring MVC的父子容器
  6. c++ n次方函数_高一数学必修一函数知识点总结
  7. 【转】5G EN-DC/NE-DC/NGEN-DC构架
  8. 生成用于ASP.NET Web API的TypeScript客户端API
  9. 清除浮动-:after伪元素法(HTML、CSS)
  10. 7820X+RTX2080Ti(Ubuntu 18.04)新机配置记录
  11. 网友刷屏:秃了秃了!黑马Java项目教程上新
  12. 电脑怎么分成两个屏幕,显示不同的内容
  13. librosa提取mel_fbank
  14. PostgreSQL的下载和安装使用步骤
  15. JAVA有没有moba游戏_你了解MOBA么?——MOBA游戏类型介绍(上)
  16. 如何在Nintendo Switch上禁用截图按钮
  17. java 多线程重温
  18. JS-实现上一题下一题切换功能
  19. 【网站密码管理不用愁】基础篇 • 利用selenium构建网站密码管理和自动登录神器
  20. 祥云杯2022 writeup

热门文章

  1. Win10 64位 汇编环境的搭建: 安装配置 DOSBOX、MASM
  2. 理解分布式一致性:Paxos协议之Cheap Paxos Fast Paxos
  3. 外企软件测试笔试,外企软件测试面试题目50道
  4. php如何给数组取名,给表单取名可以为数组,并且可以通过php打印出来
  5. Redis随笔Jedis、jedisCluster的使用
  6. MySQL(九)插入、更新和删除
  7. JWT (Json Web Token)教程
  8. C++ getline() 和 get()
  9. 自然语言处理领域的两种创新观念
  10. 【超全解析】原码、反码、补码、移码的相互转化和解读(取值范围)