nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案

nginx系列友情链接:
nginx高性能WEB服务器系列之一简介及安装
https://www.cnblogs.com/maxtgood/p/9597596.html
nginx高性能WEB服务器系列之二命令管理
https://www.cnblogs.com/maxtgood/p/9597990.html
nginx高性能WEB服务器系列之三版本升级
https://www.cnblogs.com/maxtgood/p/9598113.html
nginx高性能WEB服务器系列之四配置文件详解
https://www.cnblogs.com/maxtgood/p/9598333.html
nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置
https://www.cnblogs.com/maxtgood/p/9598610.html
nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
https://www.cnblogs.com/maxtgood/p/9599068.html
nginx高性能WEB服务器系列之七--nginx反向代理
https://www.cnblogs.com/maxtgood/p/9599335.html
nginx高性能WEB服务器系列之八--nginx日志分析与切割
https://www.cnblogs.com/maxtgood/p/9599542.html
nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
https://www.cnblogs.com/maxtgood/p/9599752.html

注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

nginx的强大之处不必要我细说,当初第一次接触nginx的时候就发现了它的强大之处,并且自我觉得非常有必要出一篇记录nginx的各个功能及坑点。

欢迎大家对nginx感兴趣的朋友们来一起学习与及时提出错误及误点。有问题的可以在评论区@我。

一:nginx错误代码解释

在我们日常使用中,Nginx经常会遇到很多问题,直接反馈在用户端的错误代码就是200、301、302、304、400、404、499、500、502、503、504等,请看如下解决方法:

注意:一般400代表网站服务未启动,404表示某个页面不存在,这两个错误代码都是比较简单,其他代码看如下

1)     502/503/504错误解决方法:

有时候访问会出现“502 Bad Gateway” 解决办法如下:

查看当前的PHP FastCGI进程数:

netstat -an | grep "php-cgi" | wc -l

如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,

那么,说明“FastCGI进程数”不够用,需要增大。

部分PHP程序的执行时间超过了Nginx的等待时间也会出现502的错误代码,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:

http 
{
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}

如果是JAVA后端,Nginx返回502、503错误一般解决方法如下:

通过单个IP+端口去访问后端具体的实例,检查实例是否正常提供服务,一般nginx 502大都是因为后端实例或者数据库压力大,无法响应导致的。

2)     Nginx 499问题解决方法:

http 499错误代码的原因,是nginx内置的安全策略会将同一个ip post过来的并发过多的请求直接给中断掉。

在nginx.conf配置文件中加入了以下配置:

proxy_ignore_client_abort on;

结果没有499错误了,但是网站还是有无法访问的情况,最后查询到还是由于访问量大造成的。解决的办法就是增加后端实例,或者nginx实例数。

具体错误代码还需结合业务观察。

原文地址:https://www.cnblogs.com/maxtgood/p/9599752.html