详解linux中Nginx常见502错误问题解决办法
常见的Nginx 502 Bad Gateway解决办法如下:
Nginx 502错误情况1:
⽹站的访问量⼤,⽽php-cgi的进程数偏少。
针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/f ⽂件,将其中的
max_children值适当增加。这个数据要依据你的VPS或独⽴服务器的配置进⾏设置。⼀般⼀个php-cgi进程占20M内存,你可以⾃⼰计算下,适量增多。
/usr/local/php/sbin/php-fpm restart 然后重启⼀下.
Nginx 502错误情况2:
CPU占⽤率、内存占⽤率⾮常⾼,遭到CC攻击.
解决⽅法请参考:LinuxVPS简单解决CC攻击
nginx和apache区别
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; 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 subversion_hosts;
}
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。