前言
本来想搞那个nginx压缩模块的,结果死活装不上,于是就发现了这个模块Nginx fastcgi_cache,并且我发现使用这个nginx的模块缓存几乎秒杀wp的各种缓存插件,在宝塔面板开启Nginx的fastcgi_cache模块,为WordPress的伪静态页面生成缓存,可以显著提高低配置服务器的负载性能。晓白实测速度截图
wp的后台检测的速度可以低到19ms
我们这个都不需要安装插件,只需要配置一下nginx的设置即可
在此之前,请给服务器设置快照与数据库备份,防止发生不可逆的操作,小白建议反复观看,教程与操作的地方非常多,如果实在没有动手能力,可以直接放弃,因为这对于一般初学者来说还是太难了
教程开始
首先我们需要编译安装nginx,宝塔用户可以直接进行编译安装nginx(需要先卸载原来的nginx),一般宝塔的nginx编译安装都是默认自带这个模块的,所以不需要额外的安装
设置过程分两步,分别是修改 Nginx 的配置文件和修改网站的配置文件
第一步修改 Nginx 的配置
如上所示,按序点击:软件商店 -> 运行环境 -> Nginx -> 配置修改,将如下 Nginx 配置代码复制到 server 的上方,保存。
参数说明
- ⭕path:缓存存放目录;
- ⭕levels:指定该缓存空间有两层 hash 目录,第一层目录为 1 个字母,第二层目录为 2 个字母,保存的文件名会类似/tmp/wpcache/b/29/XXXXXX;
- ⭕keys_zone:缓存区的命名,范例中是xbnb 可根据需要自定义,但要与网站配置中相一致;
- ⭕128m:内存缓存空间大小为 128MB,可根据服务器配置自由调整;
- ⭕inactive:1d 指如果缓存数据在 1 天内没有被访问,将被删除,相当于 expires 过期时间的配置,可根据需要自由调整;
- ⭕max_size:1g 指硬盘缓存空间为 1G,可根据服务器配置调整大小,也可以直接删掉,如果删掉 max_size=1G,就代表完全使用内存来缓存;
第二步 修改 网站 的配置
找到 PHP 连接和引用配置
⭕软件商店 -> 运行环境 -> PHP ->FPM配置文件 -> listen = 后面是 PHP 连接配置,这个涉及后面的部分代码修改
修改默认的缓存配置文件
- 第21行的/tmp/php8.sock修改为自己服务器 PHP 的连接配置,在此文 的部分已演示如何找;
- ⭕第23行的enable-php-80.conf修改为自己服务器 PHP 的 conf 文件位置,在此文 的部分已演示如何找;
- ⭕第29行的名称要与教程第一步中的keys_zone名称xbnb 相同,如果你没改动第一步提供的配置范例,那么此处也不用改动;
- ⭕第43行的X替换为你自己服务器的真实 IP 地址;
- ⭕第45行的名称要与教程第一步中的keys_zone名称 xbnb 相同,如果你没改动第一步提供的配置范例,那么此处也不用改动;
最后检查 Nginx 的缓存是否生效
f12查看网络的首页部分的响应头的nginx-cache是否是HIT,如果是,则已经生效了
举一反三
同一个服务器的多个网站都开启 Nginx fastcgi_cache 缓存
就在已添加的 Nginx 配置基础上,再加一行代码,为第二个网站设置不同的 fastcgi_cache_path 路径和 keys_zone 名称(大写),比如,可将第二个网站 fastcgi_cache_path 设置为 /tmp/wpcache2 将 keys_zone 设置为 lsposed
网站 配置
复制第一个网站的缓存配置,只需要将第 29 和 45 行的名称,改为lsposed也就是和 Nginx 配置新加的一行代码中的 keys_zone 名称相同,然后将修改好的网站配置文件,复制到第二个网站的配置中即可。
如果添加第三个网站,依次类推,为 Nginx 配置再加一行代码,以及将第三个网站的缓存配置中的第 29 和 45 行的名称,改为与 Nginx 配置新加代码中 keys_zone 名称相对应即可。