WordPress有很多的加速优化方法,我们可以用官方出的插件WP-Super-Cache,Memcached+Batcache这些都可以让你的wordpress速度飞起来,但是呢大鸟推荐的是Memcached+Batcache把对象存储在内存,直接冲内存读取的方式无疑是最有优势的。
大鸟今天要说的另外一种加速方式Redis加速,推荐面板是Bt(宝塔面板),为什么呢,因为Bt(宝塔面板)后台的软件管理里面就可以直接安装Redis,不用去ssh下面敲命令来下载安装,所以说Bt(宝塔面板)提供的这种方法,更适合小白,毕竟谁都不是大神,用最简单的方法,让我们的博客变的飞起来,那何乐而不为呢。
大鸟这里已经安装好了,真是很简单,点一下安装就可以了。下面开始谈谈步骤,步骤略微有点繁琐!
第一:安装Redis扩展
过程就不说了,就是在你的php版本里面点开安装扩展选项,然后安装redis这个php的扩展。安装过程也是很快的,稍等会安装好了,我们开始下一步。顺带介绍下redis。Redis是一个高级的key-value存储系统,类似memcached,所有内容都存在内存中,因此每秒钟可以超过10万次GET操作。如果流量很大的站我们可以用在redis缓存来解决流量太大给服务器带来的压力。
第二:ssh工具登录vps来下载一些必要的东西
SSH工具登陆VPS后,定位到你的网站根目录,比如网站目录:/www/wwwroot/www.daniao.org;运行下方命令定位到所需网站的根目录
cd /www/wwwroot/www.daniao.org #请修改成你自己网站的实际目录)
然后运行下方命令下载所需的文件
wget https://uploads.staticjw.com/ji/jim/predis.php
再运行下方命令修改权限
chown www.www ./predis.php
再运行下方命令下载前端缓存的PHP脚本
wget https://gist.githubusercontent.com/JimWestergren/3053250/raw/d9e279e31cbee4a1520f59108a4418ae396b2dde/index-with-redis.php
修改权限
chown www.www ./index-with-redis.php
再用下方命令替换原网站目录的文件index.php,回车确定(这里说下,你可以备份下你的原来的index.php文件 ,如果你要还原可以直接删除掉这个然后用原来的还原。)
mv index-with-redis.php index.php
至此大功告成,Redis缓存成功开启!做完这步,就开启了Redis来加速WordPress,这时远在美国机房的网站的WordPress速度照样飞快。
如果你不想登录ssh来运行这些命令,我们通过面板是也可以是。大鸟这里来跟你们说一下。
第三:用Bt(宝塔面板)的远程下载的功能来完成下载所需要的redis文件
很多小白,压根不知道什么ssh登录工具,还要你去一些乱七八糟的网站下载ssh登录工具,万一带了病毒怎么办,去年连大名鼎鼎的Xshell 的官方都承认某些Xshell 的版本是有木马的。所以大鸟也有一个原则,如果不需要ssh登录,尽量不要搞这玩意。
1、我们点击文件里面的远程下载的功能按钮
2、输入链接地址
我么在url地址这一栏输入链接地址
然后,我们点击确定可以了,我们可以刷新下这个目录,就可以看到下载的东西了。下载好,可以安装前面说的修改下权限
3、修改权限
Bt(宝塔面板)如何修改权限和所有者,首页我们要选中文件,然后在后面可以看到权限这个功能,然后点击下就可以了我们简单看下大鸟的截图!
chown www.www ./predis.php
这命令的意思是 把predis.php这个文件改成www所有者用户也是www,大家可以自己下载下来然后根据这些来尝试看看!
后面的前端缓存的PHP脚本index-with-redis.php也可以安装这个方法来下载,然后修改权限和用户。
第四:调试修改index-with-redis.php的一些参数
根据自己需求修改index-with-redis.php,修改如下:
$cf = 0; // set to 1 if you are using cloudflare
$debug = 1; // set to 1 if you wish to see execution time and cache actions
$display_powered_by_redis = 0; // set to 1 if you want to display a powered by redis message with execution time, see below
替换index.php
mv index.php index.php_bk #替换到原来的index.php,也可以改nginx伪静态规则
mv index-with-redis.php index.php
1、缓存问题
index-with-redis.php中有注释
Appending a ?c=y to a url deletes the entire cache of the domain, only works when you are logged in
Appending a ?r=y to a url deletes the cache of that url
Submitting a comment deletes the cache of that page
Refreshing (f5) a page deletes the cache of that page
- 登录后台网站url后面加上?c=y即可刷新整个网站
- 可以在网站页面后面加上?r=y即可手工刷新
- 提交评论会自动刷新页面
- 刷新(f5)页面也可以刷新页面
2、测试结果
可查看本博客网页源码,我的数据是
no cached: 0.965this is a cached: 0.00105
第五:安装Redis Object Cache 缓存插件
上面的过程安装好之后,其实,redis缓存已经起了作用,但是大鸟觉得还不够,就像,memcached安装好之后,还要安装个配套的插件Batcache,redis也是一样,我们开启了redis缓存之后,最好在安装一个插件Redis Object Cache后台搜索安装即可。
我们在后台搜索下,看到这个插件,看看日期还是很新的,安装好之后,会自动和你的redis配套起来,安装好之后,立即可以看到效果,插件的作用是缓解数据库查询,把整个网页存储到内存,但是貌似兼容性不太好,不要和别的缓存插件一起用。