其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

WordPress启用Redis为网站加速,WordPress提速教程实战

GG网络技术分享 2025-03-18 16:14 0


大家好,这里是关于[wordpress博客使用CloudFlare的CDN来加速网站(页面规则缓存设置教程)],[WordPress启用Redis为网站加速,WordPress提速教程实战]问题的解答,希望对您有所帮助。如果你还想了解更多这方面的信息,请关注本站其他相关内容,共同学习吧!

wordpress博客使用CloudFlare的CDN来加速网站(页面规则缓存设置教程)

2018年12月12日教程大全Cloudflare,Cloudflare CDN,页面规则缓存设置

wordpress博客使用CloudFlare的CDN来加速网站(页面规则缓存设置教程)

此篇文章只讲wordpress站点使用CloudFlare CDN的页面规则教程。其他问题可在下方留言,我会一一回复

CloudFlare的CDN有一个很好的特点就是可以整站缓存下来,但是整站缓存时我们是无法登陆后台的,新写的文章也无法预览。所以我们需要配置几条页面规则来让CloudFlare不缓存某些页面。

CloudFlare免费版本支持3条页面规则,我们这三条需要充分利用起来才能够满足wordpress的使用。

第一条

*.cheshirex.com/wp-admin*

第二条

*.cheshirex.com/*preview=true*

第三条

*.cheshirex.com/*

规则解释:

首先上方规则中的“*”代表所有的意思,不管是字母数字或者是特殊符号都可以使用一个“*”来代替。熟悉正则表达式的同学对这个很好理解。

第一条含义:代表此条规则适用于所有*.cheshirex.com/后面开头是wp-admin的URL地址,wp-admin后面的字符全部包括在此条规则内。wp-admin是wordpress博客的默认后台地址。

第二条含义:*.cheshirex.com/后面URL中只要带有preview=true的字符,都适用于此条规则。preview=true是wordpress写文章点击预览时的预览URL地址。

第三条含义:*.cheshirex.com/后面所有的URL地址全部适用于此条规则。

上面三条规则里面我们前两条是要设置为不缓存,第三条我们设置为永远缓存。这样第一条的后台地址和预览地址我们看到的就是最新的内容,不会出现无法登陆或者无法预览文章的情况。

有些同学比较聪明哈,此时就该想到wp-login这个登陆地址怎么办。有办法!

我们安装个插件,把wp-login这个地址改成wp-admin开头的其他地址,比如设置成wp-admincheshirex,插件名字是Rename wp-login.php,我们在wordpress官方插件市场搜索即可。

下面开始在CloudFlare的操作过程:

登陆CloudFlare进入域名CDN管理界面,有一个Page Rules的设置项,我们点击进入

创建页面规则时候不要用网页翻译,不然规则会添加不上。

规则顺序不要搞错了,这三条规则是有优先度的,第一条优先度最高。意思是当某个URL和第一条、第三条同时匹配时,按照第一条的规则来执行。

详细设置如图:

第一条规则*.cheshirex.com/wp-admin*

第二条规则*.cheshirex.com/*preview=true*

第三条规则*.cheshirex.com/*

没啥写的了,不懂留言问我。

WordPress启用Redis为网站加速,WordPress提速教程实战

写这篇文章其实我是拒绝的。因为在此之前网上到处都是相关的文章,而且基本上千篇一律,但千篇一律的文章也能用。不过本真严禁认真的太多,小编我还是决定亲自在测试一番。(以下内容转自己的博客,最初发布日期为:2017-05-21)

在启用WordPress redis加速之前,首先要安装Redis数据库并开启PHP扩展,不同的环境开启方法都不太一样,有些简单有些复杂,大家可以Google或者百度查找相关文档。博主用的是宝塔环境,开启是非常简单的,宝塔4.X直接后台选PHP配置安装redis扩展即可,如图:

其他系统环境大家搜索下网络,教程也有很大,关键字 “系统环境 + 安装redis php扩展”。

扩展开启后的phpinfo应该是这样的,正确显示了redis版本

配置WordPress的redis支持

万事俱备,下面就开始启用WordPress的redis支持吧。

第一,下载predis.php放到你的网站根目录,与index.php同目录,predis.php下载地址 : http://pc.haibakeji.com/down/predis.zip

或者 直接 wget 文件。

wget https://uploads.staticjw.com/ji/jim/predis.php

第二,下载index-with-redis.php 放到你的网站根目录,同上,与predis.php保持一个目录 下载地址:http://pc.haibakeji.com/down/index-with-redis.zip (原版Github:https://gist.github.com/JimWestergren/3053250#file-index-with-redis-php),当然网上还有一份修改版,据说是修改了bug下载地址:http://pc.haibakeji.com/down/index-with-redis-rebuild.zip 这个版本也是我目前在用的版本。

需要修改的地方:

$cf = 1; // 如果开了cloudflare这里设置为1,否则为0

$debug = 0; // 是否开启底部调试信息,显示执行时间等

$display_powered_by_redis = 1; // 这个是原版文件带的功能,修改版已经取消,以上1位显示powered by redis , 0 关闭。

第三,把原index.php修改为任意文件,比如index-back.php,同时修改index-with-redis.php为index.php,这样redis就已经开始对WordPress进行了缓存了。

第四,如果不想修改index.php,同时保持index-with-redis.php不变,需要修改伪静态规则,以Apache的.htaccess 为例子。修改如下字段

//原始伪静态规则

RewriteRule . /index.php [L]

//修改后的规则

RewriteRule . /index-with-php.php [L]

测试效果

因为要测试效果,这里需要打开debug参数,修改index-with-redis.php(如果修改为index.php则打开index.php)里面的debug参数为0。

测试效果如上图,以首页为例,管理员账户登陆状态下载入首页时间为0.31 设置cache 以后,再次访问首页时间降至了0.0046,提升惊人!

写在最后

插件默认在管理员登陆状态下,F5刷新当前页面 或者在 url后面加入参数 ?r=y 可以删除当前页面缓存,在任意参数加入 ?c=y 可以删除全站缓存,前提都是管理员账户登陆状态下,如果您觉得删除不够彻底,可以写一个php放到网站上,每访问一次,即可全部清空redis数据库,代码如下:

<?php

//连接本地的 Redis 服务

$redis = new Redis();

$redis->connect(\'127.0.0.1\', 6379);

//执行命令清空数据库

$redis->flushall();

?>

有点疑问

本插件开启了以后对网站的访问速度提升很大,但是对于自适应的站点,同时模板或者插件里使用了php函数当做条件来判断事件的时候,那么缓存后的数据就以缓存时间的参数为准了,无法做到真正的自适应。比如很多主题和插件使用了 wp_is_mobile() 参数来判断是否为移动设备,然后根据返回值来觉得展现内容,那么问题就来了,如果手机用户先访问自适应站点,触发了缓存,这个时候redis里的缓存为手机用户要看的内容,如果在此以后电脑用户再访问的话看到的也是手机用户的内容,这样很不科学。反之亦然,PC缓存 手机访问的话看到的是PC内容,那么怎么才能杜绝此类现象的出现呢?大家可以动动脑筋,当然也可以等我下一篇文章来介绍相关方法。

原创文章,作者:海拔科技(头条号 / 星河),如若转载,请注明出处:《WordPress启用Redis为网站加速,WordPress提速教程实战版》https://www.haibakeji.com/archives/16.html

标签:

提交需求或反馈

Demand feedback