Nginx常见502错误提示原因和解决方法

Nginx常见502错误提示原因和解决方法

常见的Nginx 502 Bad Gateway解决办法如下:

Nginx 502错误情况1:

网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。 /usr/local/php/sbin/php-fpm restart 然后重启一下。

Nginx 502错误情况2:

CPU占用率、内存占用率非常高,遭到CC攻击. 解决方法请参考:LinuxVPS简单解决CC攻击

Nginx 502错误情况3:

CPU占用率不高,内存溢出。 检查一下网站程序有没有问题?一般小偷站点常常会出现内存溢出。 检查一下/var/log/目录下的日志,看看是不是有人爆破SSH和FTP端口? SSH、FTP遭到穷举也会占用大量内存。是的话改掉SSH端口和FTP端口即可

将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:

1.查看FastCGI进程是否已经启动

NGINX 502错误的含义是sock、端口没被监听造成的。我们先检查fastcgi是否在运行

2.检查系统Fastcgi进程运行情况

除了第一种情况,fastcgi进程数不够用、php执行时间长、或者是php-cgi进程死掉也可能造成nginx的502错误 运行以下命令判断是否接近FastCGI进程,如果fastcgi进程数接近配置文件中设置的数值,表明worker进程数设置太少 netstat -anpo | grep “php-cgi” | wc -l

3.FastCGI执行时间过长

根据实际情况调高以下参数值 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;

4.头部太大

nginx和apache一样,有前端缓冲限制,可以调整缓冲参数 fastcgi_buffer_size 32k; fastcgi_buffers 8 32k; 如果你使用的是nginx的负载均衡Proxying,调整 proxy_buffer_size 16k; proxy_buffers 4 16k;

5.https转发配置错误

正确的配置方法

server_name www.111cn.net; location /myproj/repos { set $fixed_destination $http_destination; if ( $http_destination ~* ^https(.*)$ ) { set $fixed_destination http$1; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Destination $fixed_destination; proxy_pass http://subversion_hosts; }

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/5045

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年6月21日 下午3:46
下一篇 2022年6月22日 上午8:44

相关推荐

  • 常见IIS错误解决方法

    1、错误号401.1症状:HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。分析:由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。解决方案:(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:控制面板->管理工具->计算机管理->本地用户和组,将IUS…

    2022年11月25日
    1300
  • Centos下配置JDK环境-支持JDK所有版本(超详细过程)

    前言 配置jdk环境,本人写了两种方案进行配置,当然也最推荐第一种方案。 下载JDK都是免费的,JDK各个版本的下载地址为:https://www.oracle.com/java/technologies/javase-downloads.html 本文以JDK 8为例,操作系统以CentOS7.6为例,CentOS7的所有系统都是相同的操作。 一、环境 首…

    2022年6月17日
    21400
  • Hyper上虚拟服务器Windows系统C盘不够,如何扩容?

    问题 客户需要将C盘设置成60G,原先35G,不够使用 解决方式 首先关闭该虚拟机 关机后右击设置,点击”硬盘驱动器“,点击“编辑” 选择配置磁盘,点击“扩展” 输入磁盘大小 重启虚拟机,打开计算机管理。选择磁盘管理,右击进行扩展卷 点击下一步,最终完成C盘扩容

    2022年6月16日
    17900
  • 虚拟机中进行raid5测试部署

    raid5需要几块硬盘?答案:至少3块。raid5是独立磁盘冗余阵列(raid)种一种,它是用户数据和数据奇偶校验码轮流存储在所有磁盘阵列种的一种体系架构,根据raid5的工作原理,要实现raid5至少需要3块物理磁盘。 原理:每次存储数据时,数据被平均分配到n-1个磁盘中,随机选中一个磁盘生成校验码。当有一个磁盘坏掉时,还可使用其他磁盘进行热备份故障修复;…

    2022年8月16日
    7900
  • Docker常用命令

    列出所有容器ID 查看所有运行或者不运行容器 停止所有的container(容器),这样才能够删除其中的images: 如果想要删除所有container(容器)的话再加一个指令: 查看当前有些什么images 删除images(镜像),通过image的id来指定删除谁 想要删除untagged images,也就是那些id为的image的话可以用 要删除全…

    2022年11月19日
    2300

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信