WP-Rocket 进阶优化--Nginx 插件篇

2020 年 7 月 19 日 4137 点热度 0 人点赞 3 条评论

WP-Rocket 提供了 Nginx 插件用于绕过 PHP 直接返回缓存的静态 HTML,安装启用后网站可以达到飞一般的速度。

这里以宝塔面板为例介绍如何安装此 Nginx 插件。

1. 关闭 WP 的 Cron 定时任务

由于此插件的目标是直接提供缓存文件,而无需从 WordPress 执行任何 PHP,这可能会导致不调用计划作业。因此,强烈建议关闭 Cron 定时任务。

wp-config.php 添加 define('DISABLE_WP_CRON', true);

在宝塔面板-> 计划任务添加访问 URL:https://你的网站/wp-cron.php?doing_wp_cron 频率每 15 分钟一次。

2. 下载插件

首先 SSH 连接上服务器,并以 root 用户登录,进入 Nginx 安装目录。

cd /www/server/nginx

接着从 GitHub 下载插件的源代码。

git clone https://github.com/satellitewp/rocket-nginx.git

3. 初始化并安装插件

进入插件目录生成配置文件。

cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini
php rocket-parser.php

完成后可以断开 SSH 连接,回到宝塔面板-> 网站-> 设置-> 配置文件。在文件末尾}前面加上下述内容,保存重启 Nginx 即可。

# Rocket-Nginx configuration
include /www/server/nginx/rocket-nginx/default.conf;

4. 测试效果

在未登录 WP 的情况下打开 F12 控制台,可以看到下述内容。

5. 若不为 Yes 的可能原因

  • POST 请求:对 Web 服务器的请求是 POST 。
  • GET 带参数:在请求中找到了一个或多个参数 (例如?page=2) 。
  • WP 维护模式:找到.maintenance 。因此,让 WordPress 处理应该显示的内容。
  • Cookie:找到特定的 Cookie,并告知不要为缓存的页面服务 (例如用户已登录,使用密码发布) 。
  • 设置了移动缓存:如果在 WP-Rocket 中设置了为移动端单独缓存,则不会直接提供 HTML 文件,因为 Rocket-Nginx 无法知道请求是由移动还是桌面设备发出的。
  • 未缓存文件:未找到该请求的缓存文件。

耗子

练习时长 4 年半的个人程序员 喜欢 PHP 、 Go 、 Vue 和 Python Music~

文章评论

  • 亿梦

    有个问题,这个插件安装之后绕过 PHP 直接返回 PHP,那主题电脑上页面是带侧边栏的,手机端不带,刚刚测试用手机端访问生成的静态页电脑上看侧边栏没有显示,电脑访问生成的则正常,开启手机端单独也可以解决但是那就得经过 PHP 了... 有解吗

    2021 年 4 月 3 日
    • 耗子

      @亿梦 无解,因为主题是用代码判断是否是 pc/手机,使用此插件后全部都不经过 php 处理了,自然会无法正常判断。

      2021 年 4 月 14 日
  • 值品

    学你一样 Rocket-Nginx configuration 用绝对路径,相对的总感觉不太靠谱。

    2020 年 12 月 31 日
  • Loading...