解决wordpress自动升级5.4.2导致网站出现500/524错误

其他内容

本文最后更新于 2020年6月11日   请注意这期间内容可能有所更改

  • 出现问题

今天起床的时候收到一封邮件提示本站使用的wordpress程序自动升级到了5.2.4。本来以为是一件很正常的事情。

没想到就在我登录后台的时候,却发现网站缓慢。而且还出现500/524错误。(本站用的是cloudlfare的免费CDN,所以会有524错误)

500:http 500内部服务器(HTTP-Internal Server Error)错误

524:发生超时

524 错误表明 Cloudflare 成功连接了源服务器,但源站 Web 服务器没有在默认的 100 秒连接超时结束前提供 HTTP 响应。

同时观察服务器负载发现最近一分钟的负载竟然达到惊人的30以上。难怪会出现524错误。

关于linux负载的意义,可以在网上找到很多解释比较详细的文章。

  • 解决问题

经过几个小时的排错与处理,一直没有解决问题。

无意中wp抛出一条错误:Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted

然后简单搜索了下,发现是内存不够用,这就很奇怪了。昨天明明一切正常。(本站内存是1.5GB)

于是我把PHP的内存限制从128M调整到144M希望能够解决到这个问题。

但是,效果有所改善!500/524出现的情况相对较少了。但是如果请求数量稍微多一点的话还是会出现负载过高的问题,然后导致524。

那么最大的可能是WP程序更新到5.4.2所引起的问题。于是从网上搜索了一下降级到之前不会出现问题的版本。

后来找到了一个比较好用的WP插件,WP Downgrade

使用方法:(图片来源于互联网)

首先安装启用插件,打开 设置 – WP Downgrade 选项,输入要还原的版本号,保存更改。

打开更新页面,WordPress 会提示可更新到刚输入的旧 WP 版本。点击 “现在更新” 即可自动安装旧版本在线降级。

先是降级到了5.4.1版本。没用,还是会出现负载过高。

于是降级到5.4版本,本来是想直接改变版本到5.3.X。但是又怕网站文件不兼容。

终于,5.4版本正常了。主机负载也不高了,也不会出现500/524的错误了。

  • 总结

据个人不靠谱的猜测,可能是由于5.4.2存在未知BUG(或者代码错误),导致PHP-FPM 出现内存泄漏,所以导致内存被占用满,同时主机负载极大。最终导致网站出现500错误(或者其他错误)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据