之前有不少大佬提倡wordpress无插件开发。知名国内wordpress开发大佬我爱水煮鱼制作了一款功能强大的国内wordperss优化插件,他的本意也是提倡能少用就少用,我一直理解的不够深刻,这不,问题就来了。
事情是这样的,最近早上来看,发现网站总是会莫名的数据库链接错误:
于是开始查原因,发现网站访问并不高呀,这么少的访问量,就算wordpress程序有内存消耗过高的老毛病,在4GB运存的服务器上,也造成不了这么大的影响吧。于是开始反思最近的网站操作,发现:
1 最近安装了注明的国外ultimatemembership插件
2 最近拓展了微信支付插件
3 还针对woocommerce插件做了一些调整。
4 服务器本身没有做过什么大规模的调整。
由于问题是最近几天才发现的,而我并不确定是哪个方面的问题,所以就比较麻烦了,需要一项一项排除:
首先看了下数据库的日志,发现问题是内存过高导致服务器的数据库崩溃的,但并没有查到是什么原因导致的内存问题,因为服务器里边的网站有限,所以我很自然的想到了,应该是wordpress某个插件的问题。于是我把最近的插件都暂停了试试,结果问题依然存在。
那么是不是程序本身耗内存过大呢?但问题来了,我得数据并不大,网站数据也就几天条新闻而已,想着这么小的数据,并不能导致内存消耗过大吧。于是抱着试试的心态,开始找解决方案,发现wordpress导致数据库崩溃的问题还真不少,除了扩大内存的办法,就是计划任务扫描数据库,然后定时启动:
代码如下,因为考虑到扫码负载的问题,我每1小时扫描一次:
pgrep -x mysqld &> /dev/null if [ $? -ne 0 ];then bash /www/server/panel/script/rememory.sh /etc/init.d/mysqld start fi
以上是扫描代码。
除此以外,我还安装了国内大佬的WPJAM,用来剔除不必要的查询。想着怎么也能解决部分问题吧。可问题来了,从每2天奔溃一次到每天崩溃几次。。。
问题出现在哪里呢?我仍然认为但一个程序,如果不是插件出现问题了,不会导致服务器这么大压力,除非遇到攻击,对,我仿佛抓到了重点,于是我打开服务器安全。
果然有重大发现:
靠,压力来自于后门文件,果然如此。于是马上删除这些后门。。
但经过测试,发现只要开始编辑,服务器承压马上飙升:
于是我通过这样反复测试,确定可定是某个插件导致的,因为之前虽然崩溃,但并不会如此频繁,回想一下操作,很快决定停用WPJAM插件。果然,停用以后,压力回复正常:
又连续跑了1天,服务器负载一直很平稳,数据库并没有再次崩溃了。
总结问题:
1 服务器数据库晚上崩溃,是由后门导致的,这些后门往往是半夜工作(不易被察觉),因此网站总是晚上崩溃,第二天被发现。
2 WPJAM插件是一个很好用的插件,但由于我是用的国外的主题,某些地方出了兼容问题,这个问题我反馈过,但作者水煮鱼并没有针对每一个主题优化(事实上作为一款免费的主题,这样要求作者显然也不现实了)。这给我的启示就是,插件这东西虽然方便,但真的少用。
3 betheme主题的优势就是编辑器耗内存非常低,因此我更坚持了少用elementor编辑器,尽量用主题原生编辑器的原则。
4 插件尽量用大厂插件,知名插件,另外大部分国外扩展插件真的本土化非常差,基本上你买了也没办法在国内使用。
好了,以上就是石家庄网站建设给大家分析的网站运营日常问题处理,希望对wordpress用户有所帮助和启发。
评论0