建站
WordPress出现502 Bad Gateway怎么解决?Nginx与PHP排查步骤
证据状态:官方文档、明确条件与可重复步骤;页面未标注的数据不视为本站实测。
直接答案:WordPress 502通常表示Nginx没有从PHP-FPM或其他上游获得有效响应。先查看Nginx错误日志并检查PHP-FPM状态;随后区分进程退出、socket配置不一致、插件致命错误、内存不足或CDN问题。不要一开始就重装WordPress或升级服务器。
从Nginx错误信息分类
| 日志线索 | 常见原因 | 优先检查 |
|---|---|---|
| connect() failed | PHP-FPM未运行或socket错误 | 服务状态与fastcgi_pass |
| upstream prematurely closed | PHP退出或致命错误 | PHP与WordPress日志 |
| out of memory | 系统内存耗尽 | 内核日志与进程内存 |
| 仅经CDN出现 | CDN到源站异常 | 绕过CDN直连测试 |
检查PHP-FPM和连接配置
确认PHP-FPM正在运行且没有反复退出,并核对Nginx的fastcgi_pass与PHP-FPM监听的socket或端口一致。修改后分别测试PHP-FPM和nginx -t再重载。
排除插件、主题和PHP错误
启用受控的WordPress调试日志,不在生产页面显示错误。后台无法进入时,可在备份后临时重命名插件目录判断是否为插件问题;确认后逐个恢复。
什么时候才考虑升级服务器
如果日志显示PHP因内存被杀、PHP-FPM队列长期满或CPU持续饱和,先处理异常插件、缓存和慢查询,再根据高峰监控升级。偶发502且资源正常时,升级通常不是根治方案。
网站上线前的验收办法
一年成本包括服务器、域名、备份、对象存储、CDN、插件授权与维护。页面体积和缓存命中率会直接改变带宽需求。
- 用无缓存访问测试动态页面和后台操作。
- 压缩图片并启用页面缓存,再评估是否需要升级配置。
- 从主要访客地区测量页面首字节和完整加载。
- 恢复一份备份到空白服务器,确认域名切换步骤。
sudo nginx -t
sudo tail -n 100 /var/log/nginx/error.log
systemctl --type=service | grep -E 'nginx|php.*fpm'
free -h
df -h先保存与502发生时间一致的日志。PHP-FPM服务名和日志路径因PHP版本、发行版与面板不同,需要按当前环境确认。
哪些情况下不应这样选
- 不愿维护系统和安全更新,却选择自管VPS。
- 主要访客在欧美,却只因自己在中国而选择亚洲机房。
资料与边界
本文结合官方文档和可重复的验收方法编写。未标注“实测”的数据不作为跑分或线路承诺;价格、资格和产品限制应以购买当天的官方页面为准。
常见问题
重启PHP-FPM后恢复就算解决了吗?
不算。重启只恢复服务,还要查明进程为什么退出或卡住。
502一定是服务器配置太低吗?
不一定。socket错误、插件致命错误、CDN和PHP-FPM配置都可能造成502。
可以直接重装WordPress吗?
不建议。先保存日志、备份并定位层级,重装可能丢失证据且未必修复服务器问题。