服务器报错nginx 502 Bad Gateway的原因及如何解决详解

 更新时间:2023年06月01日 09:32:33   作者:主题模板站  
项目启动时莫名其妙网站访问不了,502 Bad Gateway,下面这篇文章主要给大家介绍了关于服务器报错nginx 502 Bad Gateway的原因及如何解决的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

网站页面出现502badgateway怎么办?今天我们来分析一下原因和解决办法。

一、nginx 502 Bad Gateway出现的原因:

nginx出现502多数是属于后端的问题,后期就是PHP的问题,在php服务当中,有两个参数非常的重要:max_requestst 和max_children;具体的原因必须要查看日志才可以弄明白!

1:FastCGI进程是否已经启动

ps aux|grep php

查看是否启动了php-fpm服务;

2:FastCGI worker进程数是否不够

运行linux命令:

netstat -anpo | grep “php-cgi” | wc -l

判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少;

3.FastCGI执行时间过长

根据实际情况调高以下参数值

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

4:FastCGI Buffer不够

nginx和apache一样,有前端缓冲限制,可以调整缓冲参数

fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;

5:其它原因

出现502的情况太多了,(例如:你服务器目前的配置支撑不了你现有的业务。我有一个朋友服务器是4核8G的,经常一会出现502 Bad Gatewa,又一会正常。CPU和内存经常爆满接近100%,负载也接近4。最后,配置升级成8核16G后变就变正常了。)远远不只是博主所说的这几种!这几种只能说是最常用的吧!具体的原因一定要去查看服务器的日志;

如何通过查看日志来解决502 Bad Gateway?

二、nginx 502 bad gateway问题怎么解决?

1:查看nginx日志

既然是nginx报错,首先我们就去查看nginx的日志;执行如下命令:

vim /fujieace/nginx/logs/error.log

日志没有报什么错,一切正常,显然不是nginx出的问题;

2:查看php日志

或许不同的环境,路径或许不一同,但是很类似,继续执行linux命令:

vim /fujieace/php/var/log/php-fpm.log

结果发现有很多:如下图

WARNING: [pool www] server reached pm.max_children setting (5), consider raising it;

翻译过来就是:

警告:[池WWW服务器达到pm.max_children设置](5),考虑提高它

我们只需要修改”pm.max_children” 参数即可!

说明:

pm.max_children = 30 //设置子进程最大数值

举例:

每个php-fpm子进程占用20M内存,服务器的内存是1G,除去系统中其他应用占用的内存。

假如系统为300M,剩余700M,700/20 = 35,最多设置35,可以取值稍微低一些为30。

与此同时我们还要调整以下参数

pm.start_servers = 10 //php-fpm启动起始进程数
pm.min_spare_servers = 10 //动态php-fpm的最小空闲进程数
pm.max_spare_servers = 24 //动态php-fpm的最大空闲进程数
pm.max_requests = 500 //所有子进程重启时间

举例:

所有子进程重启时间为300s一次,并发量为50,max_children设置为30;

max_requests = 300*50/30=500;

如果想让进程每隔一小时重生一次,则是3600*50/30=6000。

解决办法:

修改pm.max_children参数具体操作步骤:

如果你是用的一键安装包,请按以下步骤操作:

1、执行vim命令

vim /usr/local/php/etc/php-fpm.conf
pm.max_children = 5

直接修改为

pm.max_children = 20

提示:20这个值仅做参考,可以继续增加,具体的话请根据自己的服务器配置来设置;请按照上面的计算方法来设置;并不是越大越好!只要配置后不再报错就OK!

lnmp一键安装包,如果博主没记错,默认的是pm.max_children = 10;

2、保存退出并重启php-fpm;

pkill -9 php //杀掉php进程
./sbin/php-fpm //重启php服务

如果你是用的手工源码安装php;修改pm.max_children它的路径却不一样;

网站来举例:

vim /fujieace/php/etc/php-fpm.d/fujieace.conf

fujieace.conf是我重名命过的,你安装的时候是修改成什么样子就是什么样子,默认修改的是www.conf;

其它的也没什么不同,和上面操作都是一样的;主要的是要找到php-fpm的配置文件,并修改它的最大子进程个数;

总结

到此这篇关于服务器报错nginx 502 Bad Gateway的原因及如何解决的文章就介绍到这了,更多相关服务器报错nginx 502 Bad Gateway内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解ngx_cache_purge _proxy_cache指令使用

    详解ngx_cache_purge _proxy_cache指令使用

    本文主要介绍了详解ngx_cache_purge _proxy_cache指令使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • prometheus监控nginx并实现可视化的操作指南

    prometheus监控nginx并实现可视化的操作指南

    Nginx是一款高性能的Web服务器,被广泛应用于各类的网站和应用程序中,为了保证Nginx的正常工作,我们需要对其进行监控和管理,所以本文给大家介绍了prometheus监控nginx并实现可视化的操作指南,需要的朋友可以参考下
    2024-05-05
  • 在Linux系统中将Redmine和SVN整合入Nginx的方法

    在Linux系统中将Redmine和SVN整合入Nginx的方法

    这篇文章主要介绍了在Linux系统中将Redmine和SVN整合入Nginx的方法,示例基于CentOS系统,并用到了Ruby脚本,需要的朋友可以参考下
    2015-06-06
  • Nginx+Dify实现无缝负载多实例部署

    Nginx+Dify实现无缝负载多实例部署

    本文主要介绍了Nginx+Dify实现无缝负载多实例部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • nginx中斜杠(/)详解

    nginx中斜杠(/)详解

    本文主要介绍了nginx中斜杠(/)详解,配置location、proxy_pass时,加“/”与不加“/”的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 如何自定义Nginx JSON日志格式配置

    如何自定义Nginx JSON日志格式配置

    Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种结构化日志格式特别适合ELK等日志分析系统处理,感兴趣的朋友一起看看吧
    2025-03-03
  • Nginx网站服务过程详解

    Nginx网站服务过程详解

    Nginx是一款高性能、异步非阻塞工作模式、轻量级Web服务软件,这篇文章主要介绍了Nginx网站服务的相关知识,需要的朋友可以参考下
    2023-06-06
  • Nginx文件上传500错误的完整排查与解决过程

    Nginx文件上传500错误的完整排查与解决过程

    这段ginx权限配置与临时ginx运行用户不匹配导致上传500错误错误,解析client_body_buffer_size配置影响及修复方案
    2026-05-05
  • Nginx服务器配置性能优化方案

    Nginx服务器配置性能优化方案

    这篇文章主要为大家详细介绍了Nginx服务器配置性能优化方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Nginx配置终极版指南(全网最详细)

    Nginx配置终极版指南(全网最详细)

    对于前端项目来说,nginx是必须了解和熟悉的,本文对nginx整体的概念进行了重新梳理,同时帮读者理清nginx配置思路,文中通过代码示例和图文讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-11-11

最新评论