wp-rocket配合nginx实现纯静态化加速wordpress

许都 - 0

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。
如果debug设置为0或1,则会出现以下标头:
  • 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无法知道该请求是由移动或桌面设备。
  • 文件未缓存:未找到该请求的缓存文件。

插件安装

  1. 自行购买wp-rocket插件并安装,最后打开wp-rocket设置
  2. 缓存请启用,务必关闭移动端单独缓存;缓存有效期改为0小时。
  3. 开启预缓存,设置Sitemap URL地址。
  4. 清除所有缓存后请点击开始预缓存

总结

Wp-rocket直接将网站的求情方式从将从NGINX→PHP-FPM→PHP→静态文件变成NGINX→静态文件。换句话说,您直接从NGINX提供静态文件,而不是在提供静态文件之前将请求传递给FPM然后传递给PHP,这不仅提高了加速速度,还节省了服务器资源。

wordpress 优化 wp-rocket 加速 纯静态化

发表评论
分享