Linux服务器网站出现502 Bad Gateway解决方法
在使用Linux云服务器搭建网站时,经常会遇到页面提示“502 Bad Gateway”的情况。这种错误通常表示Nginx作为代理无法正常连接后端服务(如PHP、MySQL或应用程序)。
下面按照常见排查思路一步一步解决。
一、确认502错误含义
502 Bad Gateway通常说明:
-
Nginx正常运行
-
但后端服务(PHP-FPM / 应用)异常
也就是说问题不在访问入口,而在“后端服务”。
二、检查Nginx服务状态
首先确认Nginx是否正常运行:
systemctl status nginx
如果未运行:
systemctl start nginx
三、检查PHP-FPM是否运行(重点)
大多数网站502是PHP-FPM异常导致的。
检查状态:
systemctl status php-fpm
如果未启动:
systemctl start php-fpm
四、查看错误日志
Nginx错误日志:
cat /var/log/nginx/error.log
PHP错误日志(部分系统):
cat /var/log/php-fpm.log
日志中通常会提示具体错误原因。
五、检查端口监听情况
查看PHP-FPM是否正常监听:
netstat -tulnp | grep php
如果没有监听,说明PHP-FPM未正常启动。
六、检查配置文件是否错误
如果最近修改过Nginx或PHP配置,可以执行:
nginx -t
确认无报错后再重载:
systemctl reload nginx
七、检查磁盘空间
磁盘满了也可能导致502:
df -h
如果空间不足,需要清理日志或临时文件。
八、总结
Linux服务器出现502 Bad Gateway,一般由以下原因导致:
-
PHP-FPM未启动
-
Nginx与后端通信异常
-
配置文件错误
-
磁盘空间不足
-
后端服务崩溃