WordPress网站经常挂掉的原因排查

注:
1、需排除空间服务器的问题
2、Wordpress已升级至最新版

站长的网站www.zylxyl.com是在百度云购买的空间,1G内存/1M独享IP带宽,目前每日也就1500左右的IP,2000左右的PV,这点流量按说主机配置应该完全满足,但主机经常宕机,有时持续一两分钟,有时十分钟左右才能恢复,除非手动重启。

查看主机后台监控
(排查了近一个月,先前没有截图,只能使用近期的,早先的更为严重),
内存监控
CPU监控
请求数
可以看到内存、CPU、请求数在同一时间都到达了峰值,已超出主机的工作负荷,进而主机宕机。

起初认为可能是网站上传有不少图片,也没有优化,再加上被某些网站盗链,造成主机系统资源不足的原因,进而又单独购买了一块空间,用于存储图片,实现图片与程序的分离。并经常更改图片的存储路径,预防被盗链。
最初多少起了点效果,但经常宕机还是没解决。

又转到了Wordpress自身上,Wordpress吃内存耗资源众所周知,为此网站也没敢安装过多的插件,只安装了
WP Super Cache(Wordpress缓存插件)
Disable & Remove Google Fonts(禁用加载谷歌字体)
WP Control (Wordpress计划任务插件)

使用WP Control 调整或禁用了Wordpress系统内置计划任务的执行时间,避免同一时间执行的过多的计划任务
wordpress计划任务

同样有点效果,但作用不大

没办法,看看网站日志吧,这才发现问题,没想到,一个小网站也会被攻击
里面大量的以”FastCGI send in stderr”开头的错误日志
错误日志
因为这些IP访问的页面不存在,进而产生了上面那些错误,因为短时间的大量访问请求,网站主机挂掉了。
没办法只能把这些IP地址一个个或者分段屏蔽掉,自定义一个错误页面,问题基本上才得以解决,但对方还是变着法的换代理IP尝试入侵

接下来在访问日志access.log里面看到大量的wp-cron.php日志
这个是由WP Super Cache(Wordpress缓存插件)产生的,频率很高
在WP Super Cache中启用预缓存设置,关闭垃圾回收器即可

 

ICP备案号:晋ICP备18007549号-1
站长微信:13613567205