之前我们在“宝塔负载和CPU爆表100%”中提到过,宝塔面板负载状态和CPU使用率双双爆表,后来启用opcache和memcached后瞬间降下来了。由此可见,wordpress网站开启后端缓存,可有效提升网站访问速度,降低卡顿,减轻服务器压力。后台缓存有多种,本文讲解的是memcached和opcache。
在正式开始之前,我们先明确几个概念:
- Opcache:用来缓存PHP代码的
- Memcached:是用来缓存数据的
- Batcache:是用来配合memcached的,WordPress启用Memcached后,每次访问WordPress页面,都要从内存中获取多个缓存对象。Batcache可把当前整个页面作为一个对象缓存到内存中,这样再次访问 WordPress 页面的时候,直接从内存中获取这个对象。
Opcache
安装opcache
使用宝塔安装opcache非常简单,在PHP 管理中 “安装扩展”找到“opcache”安装就行了。安装完成后,重启一下PHP服务,opcache就开始加速您的PHP代码了。
配置OPcache(非必需)
如有需要,可进入PHP配置文件中通过“ctrl+f”搜索“opcache.”查看修改相应参数:
opcache.enable=1//开启opcache opcache.memory_consumption=128//OPcache共享内存存储大小(以MB为单位) opcache.interned_strings_buffer=8//暂存池中字符串的占内存总量(以MB为单位) opcache.max_accelerated_files=4000//最大缓存文件的个数,用于控制内存中最多可以缓存多少个PHP文件。这须得设置大于你的项目中的所有PHP文件的总和。取值范围在200到1000000之间。 opcache.revalidate_freq=60//设置缓存的过期时间(单位是秒),多少秒内内容不会刷新,如果需要实时更新可设置为 0 opcache.enable_cli=1//是否在cli环境使用 opcache.fast_shutdown=1//oPcache更快速清理内存的机制,实际效果视环境而异
查看opcache状态(非必需)
如果安装了 WPJAM Basic 插件请忽略此部分内容。
图形化界面查看opcache的工作状态,可查看Opcache缓存命中率、占用内存等信息。
https://github.com/rlerdorf/opcache-status
将其中的opcache.php文件,上传到网站目录,打开对应网址即可查看opcache状态信息。
Memcached
安装memcached
同安装opcache一样,需要在php管理中安装Memcached扩展,安装扩展会自动安装并启动“软件商店”中的Memcached应用。
配置memcached
将object-cache.php文件放到/wp-content/目录,注意不是/wp-content/plugins/目录
获取object-cache.php文件主要有以下几个途径:
1、下载“MemcacheD Is Your Friend”WordPress插件,需要把其中的“memcached-class-object-cache.php”重命名为“object-cache.php”
2、从 GitHub 项目,下载(提取)其中的 object-cache.php 文件;
https://github.com/Automattic/wp-memcached
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
3、下载“WPJAM Basic”WordPress插件,在插件 wpjam-basic/template/ 目录下可找到 object-cache.php 文件(使用该文件,可能跟下面的 advanced-cache.php 有冲突)
查看memcached状态(非必需)
同样如果安装了 WPJAM Basic 插件请忽略此部分内容。
图形化界面查看 memcached 的工作状态,可查看 memcached 缓存命中率、占用内存等信息。这里用到的是memcache.php文件,需要打开文件设置下管理员登录账号和密码。
define('ADMIN_USERNAME','memcache'); // Admin Username define('ADMIN_PASSWORD','password'); // Admin Password
$MEMCACHE_SERVERS 这里如果只配置一个网站,第二行可注销或直接删除。
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array //$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array
配置Batcache(非必需)
上边提到了,安装Batcache是为了让memcached更好用。
插件下载地址:
https://wordpress.org/plugins/batcache/
https://github.com/Automattic/batcache/blob/master/advanced-cache.php
将插件中的 advanced-cache.php 文件放到 /wp-content/ 文件夹中。
advanced-cache.php 有一些自定义的选项可供配置,我们打开源代码文件编辑即可。
var $max_age = 3600; // max_age代表缓存过期时间(以秒为单位),0表示禁用垃圾回收器,建议数值3600。 var $remote = 0; // remote为0表示禁用向远程数据中心发送缓冲,这个可以默认。 var $times = 2; // times表示访问多少次才创建缓存(2是最小值) var $seconds = 0; // seconds表示在多少秒之后才创建缓存(0表示立即)
激活 memcached 和 Batcache
最后,还需要在根目录下的 wp-config.php 中添加以下代码,以使 memcached 和 Batcache 生效(具体参考下图)
//这段是激活 Memcached(似乎没必要添加)define('ENABLE_CACHE', true);//是激活 Batcache(advanced-cache.php) define('WP_CACHE', true);
PS,除了使用图形化查看是否设置成功,还可以在添加缓存代码后,退出网站登录,然后刷新网页,按F12查看代码,在“元素”底部出现类似下边绿色文字的提示,代表缓存设置成功!
generated in 0.288 seconds 67244 bytes batcached for 300 seconds
如果没有生效,确认下设置是否正确,没问题可以重启下PHP或者服务器试试!
总结&资源下载
虽然上边写了这么多,但其实并没有多么复杂,关键是理清头绪。最后,我们来梳理下操作流程。
在宝塔安装扩展(应用)- 把两个强化扩展(就是上边提到的 object-cache.php 和 advanced-cache.php 文件)放到/wp-content/目录 - 在wp-config.php中添加启用代码 - 需要图形化查看在上传设置两个php文件(上边亦有提到,非必须)
如果您使用了 WPJAM Basic 插件,则更加简单:
在宝塔安装扩展(应用)- 将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到/wp-content/目录下 - 在wp-config.php中添加启用代码
这样看是不是就简单多了呢?!
上述教程中提到到的文件下载【包括两个插件(强化扩展)object-cache.php和advanced-cache.php,以及两个图形化查看文件opcache.php和memcache.php】
https://url26.ctfile.com/f/948726-837652326-2be7be?p=7890 (访问密码: 7890)
评论0