WordPress网站Rocket-Nginx+WP Rocket优化配置教程

释放双眼,带上耳机,听听看~!

Rocket-Nginx是一种Nginx配置,通过直接提供静态页面而不加载WordPress或PHP,使WP-Rocket更快。

Rocket-Nginx

Rocket-Nginx是WordPress缓存插件WP-RocketNginx配置。它使Nginx能够直接提供以前缓存的文件,而无需调用WordPress或任何PHP。它还添加标头来缓存CSS,JS和媒体,以便通过减少对Web服务器的请求来利用浏览器的缓存。

在你开始之前

由于配置的目​​标是直接提供缓存文件而无需从WordPress执行任何PHP,这可能会导致您的计划作业无法调用。您可能已经知道,WP-Cron作业不是真正的cron作业,只有在您访问过您的网站时才会执行。

为了确保计划任务在应用时运行,强烈建议禁用WordPress cron作业并创建真正的cron作业。

要禁用WordPress cron作业,请将以下行添加到wp-config.php:

define('DISABLE_WP_CRON', true);

然后,每15分钟手动一次cron作业(对于大多数网站来说应该足够了):

*/15 * * * * wget -q -O - &>/dev/null

要么

*/15 * * * * curl &>/dev/null

要么

*/15 * * * * cd /home/user/public_html; php wp-cron.php &>/dev/null

确保在此更改后测试您的任务是否仍然运行!

安装

要使用该脚本,必须将其包含在实际配置中。如果您的WordPress网站尚未配置为使用Nginx运行,您可以检查WordPress文档的Nginx配置

使用WP-Rocket的所有WordPress网站只需要一个Rocket-Nginx实例。也就是说,您可以根据需要生成任意数量的配置文件。

您可以rocket-nginx在Nginx配置目录中创建文件夹目录。

Ubuntu安装教程

如果您在使用Ubuntu,你Nginx的配置(nginx.conf)中找到:/etc/nginx/

要安装,您可以:

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

从2.0版开始,必须生成配置。要生成默认配置,必须重命名禁用的ini文件并运行配置解析器:

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

这将生成default.conf可包含在所有网站中的配置。如果需要更改默认配置,可以编辑ini文件并在文件底部添加另一个部分。

然后,在配置文件中,必须包含配置。如果您的网站配置已经存在/etc/nginx/sites-available,则需要更改配置:

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

在重新加载配置之前,请确保对其进行测试: nginx -t

测试完成后,您必须重新加载配置。 service nginx reload而已。

Centos安装教程

组态

没有配置要做。它将开箱即用。但是,你可以编辑一些东西……

只需打开rocket-nginx.ini文件并查看其中的所有选项。

您可以根据默认配置添加新部分,如下所示:

# This creates the new section and will generate a new configuration
[example.com : default]

# This will add a new header named "Is-NewSection" with the value "Yes" to the medias section
media_header[Is-NewSection] = "Yes"

编辑ini文件后,必须通过运行解析器重新生成Nginx配置文件:

php rocket-parser.php

然后,新添加或修改的部分将生成更新配置文件(* .conf)。

最后,每次生成(或重新生成)配置文件时,您必须:

  1. 测试它以确保它不会产生任何错误:
  2. nginx -t
  3. 重新加载配置:
  4. service nginx reload

调试

您可能想要检查您的文件是否由Nginx直接提供,而不是调用任何PHP。为此,请打开rocket-nginx.ini文件并更改调试值:

debug = false

至:

debug = true

如果debug设置为0或1,则会出现以下标头:

  • X-Rocket-Nginx-Serving-Static:配置是否直接服务于缓存文件(绕过WordPress):是或否。

这会将以下标头添加到您的响应请求中:

  • X-Rocket-Nginx-Reason:如果Bypass设置为“No”,那么调用WordPress的原因是什么。如果“是”,则使用的文件是什么(URL)。
  • X-Rocket-Nginx-File:如果“是”,则使用的文件是什么(磁盘上的路径)。

不提供缓存文件的原因:

  • 发布请求:对Web服务器的请求是POST。这意味着数据已发送,答案可能需要与缓存文件不同(例如,发送评论时)。
  • 找到的参数:在请求中找到了一个或多个参数(例如?page = 2)。
  • 维护模式:找到.maintenance文件。因此,让我们的WordPress处理应该显示的内容。
  • Cookie:找到一个特定的cookie并告知不提供缓存页面(例如,用户已登录,使用密码发布)。
  • 特定的移动缓存已激活:如果您在WP-Rocket中激活了特定缓存(一个用于移动缓存,一个用于桌面),HTML文件(页面,帖子等)将无法直接提供,因为Rocket-Nginx无法知道该请求是由移动或桌面设备。
  • 文件未缓存:未找到该请求的缓存文件。

常问问题

你有关于该项目的任何基准吗?

没有。人们喜欢基准,就像他们讨厌它们一样。所有基准测试都有人声称X或Y或Z可以用来改善结果。在这个项目中,基准测试将取决于你有多少插件影响页面,即使输出在缓存中(例如,即使文件在缓存中,WP-Rocket也会执行PHP)。我们可以说,你将从NGINX→PHP-FPM→PHP→静态文件转到NGINX→静态文件。换句话说,您直接从NGINX提供静态文件,而不是在提供静态文件之前将请求传递给FPM然后传递给PHP(至少用于WP-Rocket)。

如果我的网站使用SSL证书(https),Rocket-Nginx会工作吗?

是! Rocket-Nginx将检测请求是通过HTTP还是HTTPS发出,并根据请求类型提供正确的文件。自1.0版以来,这两种协议都是自动处理的。

给TA打赏
共{{data.count}}人
人已打赏
狼豪网络

宝塔面板Nginx环境中部署PageSpeed模块优化加速WordPress网站

2019-5-12 21:11:41

狼豪网络

网站接入QQ互联使用QQ一键登录

2019-5-13 17:48:02

2 条回复 A文章作者 M管理员
  1. 狼豪

    ✗棒棒的✗

  2. ↘林✅ ?

    可以

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索