第一步:安装 memcached:
在你的宝塔中,找到你目前使用的php版本,打开 php 管理,日记哥这里用的是 php7.4 :
可以看到,memcached 上面还有一个 memcache, 注意:不要安装错了。
我们要安装的是memcached , 会比 memcache 更强大一些。
memcache 是 pecl 扩展库版本,原生支持php,出现更早,是老前辈;
memcached 是 libmemcached 版本,出现较后,是新一代,因此也更加完善,推荐使用。
另外插一句 如果你使用的PHP版本大于等于7.0,建议将opcache缓存也打开,能极大的提高网站运行效率。
安装完成后,可以在 phpinfo 里看看是否安装成功,安装成功的话如图所示:
接着我们会发现 宝塔里的 memcached管理软件 (这个是用来查看你的memcached运行状态的)也会自动帮我们安装上:
第二步:我们需要去下载memcached的插件,可以到这个去下载:
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
github是被国内墙了的,如果打不开,你应该知道怎么解决的吧。这里就不多说了。
点击 object-cache:
接着点击 download,下载这个 object-cache.php 的文件:
第三步:下载得到的 object-cache.php,上传到 wp-content 目录下 即可开启memcached缓存。 注意:不是插件目录!是wp-content目录下,别上传错位置了。
现在,memcached的启用基本完成。可以看看打开你的网站的速度是不是变得飞快了。
可以在宝塔的memcached管理 里查看,hit的数值 只要不是 原始的 1% ,则表示你的memcached 已经成功开启:
另外,在补充一些知识。
大部分人的服务器上面应该不止只放了一个wordpress网站的吧。估计不少老铁放了四五六七八个wordpress网站。
Memcached支持多个wordpress网站缓存设置方法:
如果你对VPS 上面第二个网站使用上面的相同操作,之后你会发现,串站了。你打开site2的域名,会发现它跳转到site1上面去了。
之所以出现这种情况,是因为你的多个wordpress的数据表前缀使用默认的WP_造成的,在访问网站调取Memcached缓存时,就出现了调错混淆的情况,所以必须区分多个wordpress网站的缓存区。
网上很多教程教你如何去修改wp_数据表前缀的。 日记哥并不喜欢这种方法。修改数据库一不小心网站就出错了。
这里分享个日记哥自己在用的解决这个冲突的方法:
接修改根目录下的wp-config.php,添加下面这3行代码:
define('ENABLE_CACHE',true);
define('WP_CACHE',true);
define('WP_CACHE_KEY_SALT', 'site1');
前面2行是激活memcached的意思。
后面 define('WP_CACHE_KEY_SALT', 'site1'); 这行是用来区分你的网站的。
域名改成你自己的,或输入一串随机字符串也行,只要同一个服务器下每个站点的WP_CACHE_KEY_SALT 不一样即可解决Memcached缓存冲突。
比如第一个网站你可以输入数值site1,第二个网站可以输入数值site2,以此类推。 日记哥习惯直接填网站域名,随意就好,数值不同即可:
这样每个网站都设置下。就不会再出现冲突的情况了。
设置好后,最好重启下Memcached,所有的网站速度都得到了提升:
如何正确设置memcached ?
性能调整:缓存大小根据实际情况进行调整。调整什么?回到负载状态栏,有一个“当前已使用内存”,根据这个数字来调整。例如,默认配置memcached共有64M内存(最大缓存容量),但如果已使用内存62M表示memcached的可用内存几乎已满,此时手动更改为更大的点,如128M。这个设置数值可以根据你自己的VPS的流量情况自己测试。:
如果按上面的操作之后,网站还是出现了相关的memcached出错提示,或者object-cache.php文章相关的错误提示,那么可以重启一下VPS,基本上都能解决。