WordPress出现502 Bad Gateway的一次解决办法
本站重新改为使用WordPress驱动,最近在适配B2主题,有一些其他系统的内容需要导入。所以使用了WP ALL IMPORT这个插件来导入文章。但是奇怪的是在导入进行到第四步的时候,出现了502 Bad Gateway。网站错误日志如下:
2022/11/02 09:21:11 [error] 5158#0: *29284 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 1.203.147.238, server: kouer.com, request: "POST /wp-admin/admin.php?page=pmxi-admin-import&action=template HTTP/2.0", upstream: "fastcgi://unix:/tmp/php-cgi-73.sock:", host: "www.kouer.com", referrer: "https://www.kouer.com/wp-admin/admin.php?page=pmxi-admin-import&action=template"
PHP错误日志如下:
[02-Nov-2022 09:21:11] WARNING: [pool www] child 3359 exited with code 255 after 51069.467632 seconds from start
根据错误日志,在百度搜了一圈,都是在说PHP FPM的配置问题。尝试修改了一些FPM参数,比如以下这些,都无济于事。
pm.max_children = 80 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 30 request_terminate_timeout = 1000
然后又更新了Nginx版本,MySQL版本,更换PHP版本都没有解决。
开始怀疑是服务器性能问题,于是在测试服务器上的一个WordPress站点上测试,居然没有问题。而测试服务器配置远低于正式环境的服务器。
怀疑是防火墙问题,因为正式环境用的是专业版宝塔面板,测试服是免费版,没有NGINX防火墙。但是关闭了防火墙,问题依然存在。
只能怀疑是主题的问题了,切换WordPress到默认主题,TNND,还是502 Bad Gateway。
到这里准备放弃了。不过我还是怀疑是PHP版本兼容性的问题,于是想干脆用较低版本的PHP7.2试一下。这个版本之前没有安装过,然后切换完,直接进插件测试,居然没问题。然后想着那确实是PHP兼容性问题了。接着就去前台看看,提示安装B2主题的扩展。好,安装好B2主题扩展,重启PHP,前台正常了。再试一下插件,我去!502 Bad Gateway!
这中间我只做了一件事,安装了B2主题的PHP扩展。注释掉扩展,再试下!正常!
到这里,终于破案了!
然后又用PHP 7.3测试了一下,因为7.3的速度最快,还是选择用7.3。结论是装B2扩展,WP ALL IMPORT插件就502 Bad Gateway!
前面切换PHP版本没有发现问题,是因为那几个PHP版本都安装好了B2主题的php扩展(之前有测试各PHP版本之间的性能)。
如果你也遇到部分链接502 Bad Gateway,但又没有其他线索的时候,检查一下是不是有安装什么PHP扩展。
以上就是我花一天时间总结出来的一次WordPress出现502 Bad Gateway的解决经验,希望能够帮助到你!
评论列表(1条)