详解linux中 Nginx 常见502错误问题解决办法

 更新时间:2018年06月04日 09:21:16   作者:强迫症专用头像  
这篇文章主要介绍了详解linux中 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.jb51.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; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于Nginx中虚拟主机的一些冷门知识小结

    关于Nginx中虚拟主机的一些冷门知识小结

    这篇文章主要给大家介绍了关于Nginx中虚拟主机的一些冷门知识,文中通过图文以及实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 如何让Nginx快速支持TLS1.3协议详解

    如何让Nginx快速支持TLS1.3协议详解

    这篇文章主要给大家介绍了如何让Nginx快速支持TLS1.3协议的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • nginx实现动静分离的案例详解

    nginx实现动静分离的案例详解

    nginx 和 Tomcat 是两个不同的服务器软件,在分离部署方面有着各自的优势和适用场景,一般来说,Nginx 适合作为反向代理和负载均衡服务器,用于处理静态文件和高并发请求,本文将大家介绍一下nginx实现动静分离的案例,需要的朋友可以参考下
    2023-08-08
  • 教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤

    教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤

    这篇文章主要介绍了利用 Nginx 服务搭建子域环境提升二维地图加载性能,本文分步骤通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-09-09
  • Nginx实现https网站配置代码实例

    Nginx实现https网站配置代码实例

    这篇文章主要介绍了Nginx实现https网站配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • nginx设置上传目录无执行权限的方法

    nginx设置上传目录无执行权限的方法

    在windows+iis下,可以设置上传目录,类似:upload,uploadfile,attachments,这样的目录下面无脚本执行权限,从而防止非法用户上传脚本得到webshell
    2010-11-11
  • Nginx结合keepalived实现双机热备方案

    Nginx结合keepalived实现双机热备方案

    Nginx难免遇见故障,可以使用使用keepalived来实现Nginx的高可用,本文主要介绍了Nginx结合keepalived实现双机热备方案,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • nginx下的代理服务器80端口被封的解决方案

    nginx下的代理服务器80端口被封的解决方案

    这篇文章主要是讲:通过nginx下面的代理服务器,实现访问A地址的时候自动代理到B地址的某个端口,主要用于标题说的某个端口被日.其他东西都正常的情况下,这玩意早上我刚刚测试过,这博客就是个很好的例子.
    2010-06-06
  • Nginx负载均衡的4种方案配置实例

    Nginx负载均衡的4种方案配置实例

    这篇文章主要介绍了Nginx负载均衡的4种方案配置实例,本文讲解了轮询、最少连接、IP地址哈希、基于权重的负载均衡等内容,需要的朋友可以参考下
    2015-01-01
  • Nginx禁止访问php文件的方法总结

    Nginx禁止访问php文件的方法总结

    当涉及到禁止访问 PHP 文件时,有多种方法可以考虑,以下是十多种方法的详细说明,以及如何在 Nginx 中应用它们,需要的朋友可以参考下
    2023-09-09

最新评论