WP Rocket缓存插件是当前最高效也是最灵活的WordPress静态缓存插件。WP Rocket在性能方面集成了所有最新功能:延迟图像加载,延迟加载javascipt,缩小html代码体积,连接和所辖javascript文件。WP Rocket还拥有自己的自托管爬虫机器人,它将访问您的站点并生成缓存文件,以便当人访问者访问您的站点时,他们会立即获得该页面的快速缓存版本。并且拥有一个站点地图预载功能。
然而它还是有一点毛病,那就是它依然是通过wordpress的php运行来提供缓存,不能算是真正的静态加载了,我们能不能跳过php执行的步骤,直接引导加载缓存文件呢?答案是可以的。
编译并安装rocket-nginx
使用该脚本,必须将其包含在实际配置中。如果您的WordPress网站尚未配置为使用Nginx运行,您可以检查WordPress文档的Nginx配置。 使用WP-Rocket的所有WordPress网站只需要一个Rocket-Nginx实例。也就是说,您可以根据需要生成任意数量的配置文件。 执行以下命令将模块克隆到你的Nginx安装目录:宝塔用户请不要执行第一条命令!cd /usr/local/nginx //打开安装目录 cd /www/server/nginx //宝塔面板请执行这条命令打开安装目录 git clone https://github.com/maximejobin/rocket-nginx.git //开始克隆库从2.0版开始,必须生成配置。要生成默认配置,必须重命名禁用的ini文件并运行配置解析器:
cd rocket-nginx //打开库目录 cp rocket-nginx.ini.disabled rocket-nginx.ini //重命名文件 php rocket-parser.php //执行PHP生成配置文件 到此为止over //宝塔面板用户请继续执行以下命令 mkdir /www/server/nginx/conf/rocket-nginx //创建目录 cp default.conf /www/server/nginx/conf/rocket-nginx/ //复制配置文件到conf目录这将生成
default.conf可包含在所有网站中的配置。如果需要更改默认配置,可以编辑ini文件并在文件底部添加另一个部分。 然后,在配置文件中,必须包含配置。如果您的网站配置已经存在/etc/nginx/sites-available,则需要更改配置:server {
...
# Rocket-Nginx configuration
include rocket-nginx/default.conf;
...
}宝塔面板如图所示 
在重加载配置之前,请确保对其进行测试,以免配置错误造成nginx瘫痪:nginx -t
如果没有报错我们重启nginx即可 service nginx reload
检验配置是否生效
您可能想要检查你的文件是否由Nginx直接提供,而不是调用任何PHP。为此,请打开rocket-nginx.ini文件并更改调试值: debug = false修改为:debug = true 如果debug设置为0或1,则会出现以下标头:- X-Rocket-Nginx-Serving-Static:配置是否直接服务于缓存文件(绕过WordPress):yes或no。
- X-Rocket-Nginx-Serving-Static:配置是否直接服务于缓存文件(绕过WordPress):yes或no。
- X-Rocket-Nginx-Reason:如果Bypass设置为“No”,那么调用WordPress的原因是什么。如果“yes”,则使用的文件是什么(URL)。
- X-Rocket-Nginx-File:如果“yes”,则使用的文件是什么(磁盘上的路径)。
无法调用缓存的几种原因
- 发布请求:对Web服务器的请求是POST。这意味着数据已发送,答案可能需要与缓存文件不同(例如,发送评论时)。
- 找到的参数:在请求中找到了一个或多个参数(例如?page = 2)。
- 维护模式:找到.maintenance文件。因此,让我们的WordPress处理应该显示的内容。
- Cookie:找到一个特定的cookie并告知不提供缓存页面(例如,用户已登录,使用密码发布)。
- 特定的移动缓存已激活:如果您在WP-Rocket中激活了特定缓存(一个用于移动缓存,一个用于桌面),HTML文件(页面,帖子等)将无法直接提供,因为Rocket-Nginx无法知道该请求是由移动或桌面设备。
- 文件未缓存:未找到该请求的缓存文件。
插件安装
- 自行购买wp-rocket插件并安装,最后打开wp-rocket设置
- 缓存请启用,务必关闭移动端单独缓存;缓存有效期改为0小时。
- 开启预缓存,设置Sitemap URL地址。
- 清除所有缓存后请点击开始预缓存。
总结
Wp-rocket直接将网站的求情方式从将从NGINX→PHP-FPM→PHP→静态文件变成NGINX→静态文件。换句话说,您直接从NGINX提供静态文件,而不是在提供静态文件之前将请求传递给FPM然后传递给PHP,这不仅提高了加速速度,还节省了服务器资源。本文作者为 许都,未经授权,禁止转载。
