1.安装memcached的扩展,网上一搜一大堆,自己装就是了
2.检查php.ini里面是否有下面这句,没有的另起一行加上
1
|
extension=memcached.so
|
3.重启php
4.访问github项目页面下载插件包:
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
下载并解压得到的 object-cache.php,上传到 wp-content 目录即可开启memcached缓存。
别从官网上的下!会报错的!
5.去网站前台刷新几次,产生缓存,然后从官方下载探针:
http://pecl.php.net/get/memcache-3.0.8.tgz
解压后,里面有一个memcache.php文件
修改
1
2
3
4
5
6
7
8
|
define(‘ADMIN_USERNAME’,‘memcache’); // Admin Username
define(‘ADMIN_PASSWORD’,‘password’); // Admin Password
define(‘DATE_FORMAT’,‘Y/m/d H:i:s’);
define(‘GRAPH_SIZE’,200);
define(‘MAX_ITEM_DUMP’,50);
$MEMCACHE_SERVERS[] = ‘mymemcache-server1:11211’; // add more as an array
$MEMCACHE_SERVERS[] = ‘mymemcache-server2:11211’; // add more as an array
|
成下面所示
1
2
3
4
5
6
7
8
|
define(‘ADMIN_USERNAME’,‘memcache’); // Admin Username 登录名称,自行修改
define(‘ADMIN_PASSWORD’,‘password’); // Admin Password 登录密码,自行修改
define(‘DATE_FORMAT’,‘Y/m/d H:i:s’);
define(‘GRAPH_SIZE’,200);
define(‘MAX_ITEM_DUMP’,50);
//下面是定义memcached服务器,一般我们是单机部署,所以注释掉一行,并将服务器地址根据实际修改,比如本文是127.0.0.1
$MEMCACHE_SERVERS[] = ‘127.0.0.1:11211’; // add more as an array
//$MEMCACHE_SERVERS[] = ‘mymemcache-server2:11211’; // add more as an array
|
上传到网站的只有你知道的一个地方,然后通过前台访问memcache.php这个文件,输入上面的用户名和密码即可看到memcached状态
6.如果发现页面可以打开,但是里面没有Hits数据,说明WordPress并没有成功连接到memcached,这时候我们可以在wp-config.php加入如下参数:
1
2
3
4
5
6
7
|
global $memcached_servers;
$memcached_servers = array(
array(
‘127.0.0.1’, // Memcached server IP address
11211 // Memcached server port
)
);
|
7、设置WP Super Cache
用Memcached、Batcache、Redis加速WordPress
这段时间从网友那了解到用缓存来给WordPress加速,以前有所耳闻但没有注意,经过试用后加速之后效果明显,现在把方法记录起来免得忘记。
Memcached:是一种高性能的分布式内存对象缓存系统。Batcache:WordPress启用Memcached这样的内存缓存之后,每次访问WordPress页面都要从内存中获取多个缓存对象。而Batcache主要就是解决这个问题,它是基于Memcached的WordPress缓存插件,它的工作原理是:把当前整个页面作为一个对象缓存到内存中,这样再次访问WordPress页面的时候,直接获从内存中获取这个对象即可,速度极快。Redis是一个高级的key-value存储系统,类似memcached,所有内容都存在内存中,因此每秒钟可以超过10万次GET操作。
说白了,就是当第一个访客访问你的博客,会从数据库等地方读取数据,而这个过程比较缓慢,当开启了缓存之后,直接把这些所读数据存储到内存里,当第二个访客点击时,服务器只需要读取内存中缓存的文件即可,内存和硬盘的速度差别很大,从内存里读取数据当然会更快,一点就开的感觉。
想要使用Memcached、Redis加速WordPress要有VPS,因为虚拟主机不支持,某些虚拟主机或许支持Memcached,但不一定支持Redis,有了VPS就有权限添加相应的扩展;本人并非专业人员,对代码不懂,用其他WEB环境管理起来老是要翻找教材,所以VPS我习惯使用宝塔面板,管理面板图形化让我更喜欢。
VPS以宝塔面板搭建WEB环境为例,安装好宝塔之后,SSH工具登陆VPS后运行下方代码并根据提示添加Memcached、Redis扩展:
1
|
wget –O ext.sh http://125.88.182.172:5880/ext/ext.sh && sh ext.sh
|
运行上方代码之后如下图:
选择安装的有第2个和第9个(本人装的php7,其他php版本需再安装第4个)根据提示安装即可。
第一个加速WordPress的方法:
安装上述所说的两个扩展和WordPress之后,可以用下方三个插件解决加速问题,在WordPress后台搜索安装即可:
1
2
3
|
MemcacheD Is Your Friend
Redis Object Cache
Batcache Manager
|
第二个加速WordPress的方法:
然而很多人不喜欢插件安装,最重要的是基于宝塔面板下经过本人测试,Redis Object Cache这个插件会导致和其他站点的Redis Object Cache冲突而导致其他站点废掉,下面就是基于三个插件:MemcacheD Is Your Friend、Redis Object Cache、Batcache Manager插件的免安装插件处女座修改方法:
下载 https://wordpress.org/plugins/memcached-is-your-friend/
从这下载插件并解压,把里面的memcached-class-object-cache.php重命名为object-cache.php
上传至/wp-content目录,如果是apache服务器,要在/wp-content/新建cache目录,权限改为777 (nginx服务器可忽略,就是不用新建cache目录也行)
下载 http://wordpress.org/extend/plugins/batcache/ 上传里面的 advanced-cache.php到/wp-content/目录
上述所说步骤做完之后,编辑博客根目录的wp-config.php 文件,添加下方两段代码进去并保存:
1
2
|
define(‘ENABLE_CACHE’, true);
define(‘WP_CACHE’, true);
|
解析:define('ENABLE_CACHE', true);这段是激活Memcached; define('WP_CACHE', true);是激活Batcache;
上方步骤完成之后,进入博客后台-插件-已安装插件,如下图所示,就已经开启了MemcacheD 缓存功能,试试打开速度,是不是飞快?
在这个基础上,还可以用Redis来缓存wordpress的执行代码提高请求速度,下面是使wordpress支持Redis的方法(需要SSH工具登陆VPS或服务器操作):
SSH工具登陆VPS后,定位到你的网站根目录,比如网站目录:/www/wwwroot/www.kaixinmeiju.com;运行下方命令定位到所需网站的根目录
1
|
cd /www/wwwroot/www.kaixinmeiju.com #请修改成你自己网站的实际目录)
|
然后运行下方命令下载所需的文件
1
|
wget http://uploads.staticjw.com/ji/jim/predis.php
|
再运行下方命令修改权限
1
|
chown www.www ./predis.php
|
再运行下方命令下载前端缓存的PHP脚本
1
|
wget https://gist.githubusercontent.com/JimWestergren/3053250/raw/d9e279e31cbee4a1520f59108a4418ae396b2dde/index-with-redis.php
|
修改权限
1
|
chown www.www ./index–with–redis.php
|
再用下方命令替换原网站目录的文件index.php,回车确定
1
|
mv index–with–redis.php index.php
|
至此大功告成,Redis缓存成功开启!做完这步,就同时开启了Memcached、Batcache、Redis来加速WordPress,这时远在美国机房的网站的WordPress速度照样飞快。
第三个加速WordPress的方法:
安装了Memcached、Redis扩展,还有简单且有效的方法:就是在后台安装一个Redis Object Cache插件并开启即可,稳定简单且快速,如下图:
第四个加速WordPress的方法:
可以下载Memcached Object Cache(https://wordpress.org/plugins/memcached/)到本地,解压文件里面有object-cache.php,将它上传到你的Wordpress的wp-content,将object-cache.php上传后,再安装Wordpress官方推荐的加速插件WP Super cache,进入WP Super cache高级设置中,就能看到:使用对象缓存系统来存储缓存文件。 (实验室功能),勾选保存即可。(如果上传文件后网站打不开就换个object-cache.php文件可以参照上方提到的:下载 https://wordpress.org/plugins/memcached-is-your-friend/从这下载插件并解压,把里面的memcached-class-object-cache.php重命名为object-cache.php上传至/wp-content目录)如下图:
总结:
第一个方法简单暴力,却因为太暴力出现兼容性问题,导致vps内的其他站点废掉,无其他站的单站点用户推荐。
第二个方法比较麻烦,兼容性好。
第三个方法简单高效,上述方案中是Memcached、Batcache、Redis同时上,感觉有点画蛇添足,所以非常推荐第三种方法。
第四个方法也是非常不错的方案。
至于其他更深入的修改本人感觉实在没有必要,针对web服务器的修改(比如ngx_cache_purge模块),修改的东西越多越不稳定,机房的选择比深入优化重要多了。
相关参考资料:
http://i.cuixt.com/3113.html OneinStack使用ngx_cache_purge模块加速WP
https://iiong.com/database-cache-optimization.html 对数据库进行缓存优化
http://www.01happy.com/wordpress-redis-object-cache/ wordpress安装redis缓存插件,加速明显
https://www.freehao123.com/redis-wordpress/ 用Redis缓存来给WordPress站点加速
http://www.wopus.org/wordpress-deepin/tech/462.html 启用 WordPress object-cache 缓存
http://blog.wpjam.com/m/wordpress-memcached/ WordPress 如何启用 Memcached 内存缓存
http://blog.wpjam.com/m/batcache/ WordPress 内存缓存终极加速插件:Batcache