最近小白有个站长,连续两天在晚上出现宕机,第一次出现时我以为是vps的问题,连夜搬了个家,然而第二天晚上问题重现。这个站ip从之前的3000左右突然两天飙升到6000-7000,可能跟这个有关系。其实这个站八九月份之前也一直是7000左右的ip,莫名其妙腰斩一半,然后又莫名其妙升回去(是不是暂时有待观察),搞不懂百度的排名,很谜。
其实这个站优化方面,我自认为已经做得够极限了。说一下我的步骤:
1、拿到vps,先dd纯净centos7。过程(详情参考这篇文章:折腾了一天,终于搞定linux网络重装(自动DD)centos7纯净版本!)
2、换内核,启用腾讯tcpa加速。我个人认为tcpa比起bbr甚至bbr plus效果要好。安装教程(详情参考这篇文章:[亲测好用]让你的低配置VPS速度飞起来!腾讯TCPA安装教程)
3、php安装插件:opcache和memcached
4、wordpress安装插件WP Rocket高级破解版
上面这4个流程,是我这几年来一直在坚持和使用的wordpress建站优化必做流程。也确实感觉到效果拔群。其实早在2017年之前,我建站都不用以上东西的,那时候不懂。直接网站数据库配置好就任其自生自灭。因为买国外vps较多,所以一直觉得网站打开慢是服务器的原因,也没深究。人总是要进步的。后面慢慢摸索、尝试,就把上面这一套搞成了流程。凡事建站都走一遍。
但是今天面临着服务器宕机的问题。我再次审视这个流程。思考,是不是memcached缓存优化和WP Rocket插件的优化起了冲突?我记得这个站使用WP Rocket生成的静态html文件,大小在500M左右。是不是这部分东西缓存到memcached的内存机制里面,直接撑爆了内存,导致宕机?这个问题我之前买过一家512m内存的vps,一天之内必爆,而且是流量不足100的几个小站。我本身不懂技术,是客服告诉我memcached把内存撑爆了,他提醒我不懂技术不要使用memcached,后面我就把这个卸载了,就没问题了。
这次可能也是同样的问题。那么又是memcached和WP Rocket二者在作妖呢?我的理解是,wordpress先使用WP Rocket缓存成静态html文件,然后用户访问时,又是从memcached内存缓存中调用html文件。
这个理解可能不对。我搜索了一下,有文章提到开启memcached之后,没必要再启用WP Rocket插件。(文章没有提到wp rocket,但里面的WP Super Cache是同类型的缓存插件,原文:https://www.vpsss.net/12340.html)
但我又找到一篇国外的文章,说二者之间没有冲突,可以同时启用。(原文链接:https://docs.wp-rocket.me/article/116-does-wp-rocket-support-memcached)
我有点懵。但是没有关系。通过我的实际尝试,我觉得二者可以共用。使用17ce测速,都开启了memcached之下,开启WP Rocket和不开WP Rocket的情况下,测速有天壤之别。明显是安装了WP Rocket速度快一个级别。
所以,我还是倾向于把两者一起安装了。至于会撑爆内存,我觉得可能是vps内存在小。我建站这么多年,几乎99%都是使用1核1g内存的vps,包括这个站点,之前也是一直在使用1g内存的vps,只不过商家不一样。但之前的那家几乎从来不出现宕机。这是不是意味着跟机器的性能也有关系?
好了,没有找到明确的解决办法,我除了把虚拟内存由1g变成了1.5g之外,调小了一点php的并发数。然后就是做了以下的一个补充步骤。这会用红包标注出来。以待观察。
以下文章来源于:https://wuter.cn/1530.html/
作者:木木|Ayuna
使用这几款软件或插件请确保php版本在7.0以上,本人为php7.2。
1、memcached安装
memcached是一套分布式的高速缓存系统,同时PHP也提供了memcached的扩展,使用这个软件主要是可以通过减少数据库查询导致的网站速度缓慢问题。
安装方式如下(以宝塔为例):(用宝塔是因为我不懂linux,也不会编译安装)
(1)在软件管理找到Memcached软件,点击安装。
(2)安装完成之后在php安装扩展中安装Memcached的php扩展。
注意:不要安装memcache,那个是老版本的memcached。
(3)安装完成之后检查配置文件即php.ini中是否有下面这句,如果没有可以自行加上。
extension=memcached.so
(4)在github上下载memacache针对于WordPress的缓存脚本。
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
这里有个大坑,一定不要从WordPress官网下载Object-cache插件,官网上的是针对memcache的缓存,并不支持新版的memcached。
如果github速度太慢,可以从本站国内镜像源下载,链接: https://pan.baidu.com/s/1WH1A3MON8sNotSylMZa7Aw 提取码: x6ec
(5)把下载好的zip中的 object-cache.php 上传到你网站的wp-content目录。
(6)在wp-config中加入以下代码
//激活Memcached define('WP_CACHE', true);
(7)安装测试
首先重启php。
方法一:刷新几次页面,在宝塔页面点击memca,点击负载状态,查看hit中缓存命中率,超过90%即成功。
方法二:将以下代码保存为mem.php访问,如果输出100表示安装成功。
<?php $m = new Memcached(); $m->addServer( '127.0.0.1', 11211 ); $m->set( 'foo', 100 ); echo $m->get( 'foo' ) . "\n";
2、opcache安装
简单来说opcache是用来提高php编译性能的软件,经过实际测试,php页面生成速度从平均0.2秒提高到平均0.09秒,性能提升120%!
安装方式很简单,直接在php扩展里面下载安装就可以,安装完成之后重启php。
3、WP Rocket插件安装
WP Rocket是一款综合性的支持动静态分离、css/Js整合、预缓存、数据库垃圾清理的WordPress插件。
安装就会使用,中文翻译做的很好。下载地址链接: https://pan.baidu.com/s/1R5zBdevtvBVcZ0X0ycpeRQ 提取码: kfxm
评论前必须登录!
立即登录