标签:nginx错误
当网站打开遇到Nginx 502 bad gateway的错误,造成这种错误的原因有很多,下面分别解析nginx常见的502错误。
1、nginx配置文件错误
因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port
解决方案:
[root@bier ~]# vim/usr/local/nginx/conf/vhosts/www.conf server { listen 80; server_name www.222.com; index index.html index.htm index.php; root /data/www/; location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/www.sock; //修改sock #fastcgi_pass 127.0.0.1:8000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name; } }
检查语法是否正常
[root@bier ~]#/usr/local/nginx/sbin/nginx -t
重新加载配置文件
[root@bier ~]# /usr/local/nginx/sbin/nginx-s reload
2、php-fpm资源耗尽
lnmp架构在处理php时,nginx直接调取后端的php-fpm服务,如果nginx的请求量偏高,我们又没有给php-fpm配置足够的子进程,那么php-fpm就会资源耗尽,一旦资源耗尽nginx找不到php-fpm就会出现502错误,
解决方案:
去调整php-fpm.conf中的pm.max_children数值,使其增加,但是也不能无限增加,毕竟资源有限,一般4G内存机器如果跑php-fpm和nginx,不跑mysql可以设置为150,8G为300以此类推
[root@bier ~]# vim/usr/local/php/etc/php-fpm.conf pm = dynamic pm.max_children = 150 pm.start_servers = 20
还有限制php执行时间可以在php-fpm.conf中的request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。
配置完之后重启php-fpm
[root@bier ~]# /etc/init.d/php-fpm restart
3、php-fpm.conf文件设置的不是nginx的主和组
解决方案:
检查nginx是那个用户跑的
[root@bier ~]# ps aux |grep nginx
编辑php-fpm文件需要在这个php-fpm文件里面设置nginx的用户主,跟组这样才不会显示502
[root@bier ~]# vim/usr/local/php/etc/php-fpm.conf [global] pid = /usr/local/php/var/run/php-fpm.pid error_log =/usr/local/php/var/log/php-fpm.log [www] listen = /tmp/www.sock user = php-fpm group = php-fpm listen.owner = nobody //定义为nginx的所属主 listen.group = nobody //定义为nginx的所属组
4、流量攻击导致(有可能完全是由于攻击导致,把攻击处理掉就正常打开了)
查看php-cgi是否在运行
有时候由于网站流量过大或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运行。执行如下命令:
ps -A | grep php5-cgi
如果没有运行,手动启动
/etc/init.d/php_cgi start
5、FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 200; fastcgi_send_timeout 200; fastcgi_read_timeout 200;
6、除了上面的几种情况还有其他的原因,但很少有,也可以借助nginx的错误日志来进行排查
vim /usr/local/nginx/logs/nginx_error.log 这个也是最直观的可以找到一些错误的信息。
本文出自 “比尔运维笔记” 博客,请务必保留此出处http://chenshoubiao.blog.51cto.com/6159058/1841654
标签:nginx错误
原文地址:http://chenshoubiao.blog.51cto.com/6159058/1841654