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

常见的原因可能是php-cgi进程数不够用、php执行时间长(mysql慢)、或者是php-cgi进程死掉,都会出现502错误。

1. 在安装好的环境中,运行一段时间出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。

2. php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

3. 磁盘空间不足,可以使用 # df -h命令查看磁盘使用量

4. php-cgi进程死掉了。

通常的排查方法如下:

1、查看php fastcgi的进程数(max_children值)# netstat -anop | grep php-cgi | wc -l

# netstat -anpo | grep php-fpm | wc -l

假如显示是5

2、查看当前进程# ps aux | grep php-fpm 观察fastcgi/php-fpm进程数,假如使用的进程数等于或高于5个,说明需要增加。

3、调整/usr/local/php/etc/php-fpm.conf 的相关设置pm.max_children = 5

request_terminate_timeout = 60

max_children最多5个进程,按照每个进程20MB内存,最多100MB。也就是1分钟。max_children增多,则php-cgi的进程多了就会处理的很快,排队的请求就会很少。

但是设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。根据自己服务器购买的内存来实际决定。

request_terminate_timeout执行的时间为60秒,request_terminate_timeout值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。

4. 部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:http

{

......

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

......}

更多Nginx相关技术文章,请访问Nginx教程栏目进行学习!

nginx php 502 bad gateway,nginx 502 bad gateway问题怎么解决相关推荐

  1. docker 解决php 502,Docker里两个php容器一个正常访问,一个出现502 Bad Gateway nginx/1.17.8。...

    问题描述 Docker里两个php容器一个镜像是phpfpm5.6,运行的程序是emlog,正常访问.一个镜像是phpfpm7.3,运行的程序是wordpress,运行的出现502 Bad Gatew ...

  2. 详解 502 Bad Gateway nginx/xxx

    我们访问网站时,偶尔可能会遇到这样的错误:502 Bad Gateway nginx/xxx 刷新一次或多次就好了.这是什么原因呢? 最近使用nginx的代理.负载均衡功能发现了这问题的根本原因. 什 ...

  3. 详解:502 Bad Gateway nginx/xxx

    我们访问网站时,偶尔可能会遇到这样的错误:502 Bad Gateway nginx/xxx 刷新一次或多次就好了.这是什么原因呢? 最近使用nginx的代理.负载均衡功能发现了这问题的根本原因. 什 ...

  4. 解决宝塔面板安装phpMyAdmin报错502 Bad Gateway nginx

    解决宝塔面板安装phpMyAdmin报错502 Bad Gateway nginx 检查是否安装php 到软件商店检查是否安装php 没有安装的话选择php版本安装 phpMyAdmin配置php版本 ...

  5. nginx中500,501,502,503,504,505状态码的详解及出现的原因/区别(转)

    转载别人的,写的确实很直白明了,学习巩固了!很多人都是知其人不知所以然 nginx5xx系列状态码详解 一.502 - Bad Gateway fpm 官方解释:作为网关或者代理工作的服务器尝试执行请 ...

  6. php fpm 优化502,Nginx+PHP-FPM环境访问网站出现502错误的优化方法 - Nginx - 数安时代(GDCA)SSL证书官网...

    游戏后端代码采用Nginx+PHP-FPM的方式部署.放问游戏的时候偶尔会出现502错误. Nginx错误日志出现以下日志 2014/07/05 17:20:58 [error] 18431#0: * ...

  7. nginx正向代理转发https出现502

    nginx正向代理转发https出现502 现象1 原因1 解决方案1 参考博客1 现象2 原因2 解决方案2 参考博客2 其他原因 现象1 nginx的error日志显示如下(xxx是替换过了真实信 ...

  8. nginx连接php-fpm sock文件失败502

    为什么80%的码农都做不了架构师?>>>    今天把vps上php5.3升级到了php5.4,我采用的是nginx+php-fpm的架构,nginx通过php-fpm的socks文 ...

  9. Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 1.什么是Nginx,谈谈个人都理解,项目中是否用到,为什 ...

  10. iis php 假死 nginx,网站假死 重启NGINX无效 必须重启PHP 原因分析

    一.错误提示说明: Nginx 502 Bad Gateway:请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 G ...

最新文章

  1. Nature:植物叶际微生物组稳态维持机制
  2. html css 表格自动高度,html – 表格单元格(IE)中的Textarea CSS {height:100%}
  3. pandas parse_data出现异常时,自动跳过
  4. exists改写SQL,使其走正确的执行计划
  5. 兄弟连区块链教程Fabric1.0源代码分析configupdate处理通道配置更新
  6. NOIP2016 D2T3 愤怒的小鸟
  7. vue 引用网络css_vue如何引用其他组件(css和js)
  8. c语言累积乘,C语言编程累积2
  9. 最新 IDEA 2022.1 版本即将发布,骚操作真不少...
  10. Centos7搭建pptp一键安装脚本
  11. 防止SQL注入的五种方法
  12. 计算机管理打不开路径不存在,电脑打不开软件提示路径不正确如何解决
  13. 企业实战 -什么是代理服务器
  14. 计算机毕业设计java+ssm生鲜超市进销存管理系统(源码+系统+mysql数据库+Lw文档)
  15. 霍普金斯计算机专业研究生如何,约翰霍普金斯大学计算机科学研究生项目详情!_托普仕留学...
  16. redis做浏览历史数据
  17. 01.朴素贝叶斯介绍
  18. MFC程序逆向 – 消息篇(上)+(下)
  19. SAP UI5 应用开发教程之一百零四 - SAP UI5 表格控件的支持复选(Multi-Select)以及如何用代码一次选中多个表格行项目
  20. PCL:StatisticalOutlierRemoval 统计滤波

热门文章

  1. 【个人成长】《西游记》的至高境界,看懂者无几
  2. 设计原则之里氏替换原则详解
  3. 第二届中国县域经济基本竞争力百强县(市)名单
  4. 哈佛大学开放课程:《公正:该如何做是好?》4
  5. Java基础—如何记录日志(四)
  6. Oracle修改用户profile属性
  7. “玲珑杯”ACM比赛 Round #18 C -- 图论你先敲完模板【Dp】
  8. adjtimex简介
  9. 粉笔公考——方法精讲——判断推理
  10. 2023重庆邮电大学计算机专硕(803)在职考研初试经验贴