酷玩网站 ·

OpenResty 开启 Redis 拓展加速 WordPress

前言

很多个人博主都选择WordPress来作为自己的博客,因为WP拥有相当丰富的插件主题资源。但是WordPress是一个非常臃肿的系统,过度依赖于数据库和PHP的处理性能。我们有很多的办法来优化他,使它运行的更为迅速。本篇文章,我们讲解下如何使用 OpenResty + Redis 搭建一个高速缓存体系来加速 WordPress博客

与Redis插件的区别

很多人对于Redis并不陌生,因为在很多的优化WordPress的教程中都提到了使用WP-Redis来缓存数据库。但是这个过程仍然需要处理一部分PHP程序,才会去执行Redis的规则。本篇文章中,我们采用的服务器前端是 OpenResty ,装载Redis插件,能够在还未处理PHP的时候读取缓存,达到将优化做到最前端的效果。速度会比传统的 Redis插件更快一等。

准备

  • OpenResty
  • Redis

这里我以在Oneinstack一键包安装的程序做例子,也推荐大家使用,非常方便。

修改 nginx.conf

首先准备修改nginx.conf,命令:

然后找到其中的

在http{}中间插入 Redis的服务器配置:

保存之后我们去修改虚拟主机配置文件,这里我以我的博客为例:

找到其中的

在 server{}当中插入以下代码:

然后在文件中找到处理 PHP的部分,按照下面的代码 修改 他,让他检测是否能命中缓存代替PHP的执行

安装缓存清理插件

重启OpenResty即可生效,但是还有一个缺点就是当我们发布新文章,修改文章,通过评论,修改评论时无法自动更新缓存。WordPress插件Nginx Helper可以当我们发布新文章,修改文章,通过评论,修改评论自动清理缓存。

进入WordPress插件安装页面,搜索 Nginx Helper。

安装完成按照下图配置此插件,保存即可。

 

总结

在开启Redis缓存之后,发现速度明显提高,缓存命中率也非常高。因为是依靠着 OpenResty运行,所以网站从刚刚接受到访问请求就去请求缓存,而不必去执行PHP,速度较插件来说要快一些。

参与评论

  • 老猫

    这个可以识别手机端的响应式主题分别缓存吗,如果不能,手机访问可能会变成电脑版的,那就很糟糕了

    6月前 (07-13)
    回复
    回复老猫
  • Aimer

    不知道这个的效果和ngx_cache_purge模块+Nginx-helper的静态html缓存那个更快

    9月前 (05-03)
    回复
    回复Aimer
  • 雨落无声

    Redis是基于内存的,所以内存的读写速度你懂的。

    ngx_cache储存的文件如果是缓存在硬盘上,当然没有内存快~ 不过你要是把ngx_cache的缓存文件放在内存里,速度都差不多吧。

    9月前 (05-03)
    回复
    回复雨落无声
  • Aimer

    Redis可以看做一种动态缓存,对于服务器RAM要求比较高,如果每天访问人数比较多的话,服务器负载就上去了,相比较ngx_cache是放在硬盘上的,会降低服务器的动态计算。
    可以说两者都有好处吧|ω・)

    9月前 (05-04)
    回复
    回复Aimer
  • 雨巷

    手贱去OpenResty的官网装了个这个。。然后发现和oneinstack不能并存。。。哭瞎

    10月前 (03-23)
    回复
    回复雨巷
  • 雨落无声

    Oneinstack不是默认就带了OpenResty嘛......

    10月前 (03-23)
    回复
    回复雨落无声
  • 雨巷

    心好累。。。我又重装了,google快照找了一篇文章。。。

    10月前 (03-24)
    回复
    回复雨巷
  • 雨巷

    这个未知操作系统是什么鬼。。。。家里的Mac 啊 :arrow:

    10月前 (03-24)
    回复
    回复雨巷
  • 雨落无声

    貌似主流的系统支持里没有对Mac的支持.....

    10月前 (03-24)
    回复
    回复雨落无声
  • 雨巷

    按照博主教程做的,感觉一般啊。。。没有特别大的差别。。。 :cry:

    10月前 (03-23)
    回复
    回复雨巷
  • 雨落无声

    我感觉速度是非常快的..比我用php的wpredis插件快很多..当然如果你觉得没什么卵用的话,还是换回来吧,看个人体验。

    10月前 (03-23)
    回复
    回复雨落无声
  • Leonn

    回头搭建的时候,试试这个0.0

    11月前 (03-02)
    回复
    回复Leonn
  • 雨落无声

    嘿嘿嘿~ :grin:

    11月前 (03-02)
    回复
    回复雨落无声