wp-cron.php 文件导致WP网站CPU100%宕机。我在网上寻找了一些方法,大致都是由wp-cron这个wordpress引起。

今天写这篇,主要是今天我通过测试网站给网站测速的时候(注:有些测速网站力量挺强,一次测速相当于一次CC攻击。),发现服务器直接宕机。我以为是CDN的问题,所以就联系了一下我的赞助商,经过赞助商查看。
是我自己的服务器IP,在疯狂的请求wp-cron.php文件。


这个文件是Wordpress程序内置的定时任务文件。
但是我查看,并没有任何定时任务,怀疑是一些推送代码,导致每次访问都要推送。
结果经过排查和实验,推送代码和文件,都不是罪魁祸首。
也在网络上寻找了关闭禁用wp-cron,但还是无用(另外我使用的主题,也不能随便关闭这个。)
然后又去查看了一下网站的错误日志。

我大概认为是cache的缓存文件出问题。
于是我直接将之前下过wp-super-cache缓存插件给删除了。
结果测试下来还是一样,一测试还是宕机。
一个小时的折腾,最后找到了原因。
Redis不通

从图上面看,显示的不连接。
但是我在PHP版本扩展上已经安装了这个扩展。为什么还不通?
直到我看到宝塔官方底部的提示.....
Redis扩展仅支持一个PHP版本安装使用,若在其它PHP版本已安装redis扩展,请勿再装
恰恰,我多个PHP都装了Redis,所以大概问题就是这里了。
我将其他版本的Redis卸除,重新在网站使用版本的扩展中安装了Redis。
再次测试
虽然同样要让CPU100%,但网站一直处于正常反应状态。并且很流畅。
所以问题就是出在Redis缓存不连接的情况