安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图

很多小伙伴都知道WP Rocket这款强大的WordPress速度优化插件,虾皮路也一直在用着,WP Rocket的功能非常强大,可以优化站点的CSS代码,延迟图像加载,延迟加载javascipt,缩小html代码体积等等,最近虾皮路网上看文章的时候发现,可以安装Rocket NginxWP Rocket实现Nginx的纯静态加速,也就是让网站访问更快。虾皮路心里按耐不住又折腾一下,接下来分享一下设置教程。

没有安装WP Rocket?点击这里:WP Rocket 3.6.2.1汉化破解版|WordPress最强缓存加速插件

一、优化原理

一般安装WP Rocket后都会生成一个advanced-cache.php文件。虽然对网站进行了缓存,但是一般的缓存读取路径是这样的:NGINX→PHP-FPM→PHP→静态文件,通过安装Rocket Nginx,让缓存读取路径为:NGINX→静态文件,直接跳过了中间php执行的过程,从而达到加速的效果。

二、关闭Wordpress的cron定时任务

WordPress有个定时的cron计划任务设置,每次只有访问了才会执行定时任务,而不是按时间自动执行,这块比较鸡肋,由于配置的目​​标是直接提供缓存的文件而不必从WordPress执行任何PHP,因此我们需要关闭Wordpress的cron定时任务。

1、首先打开站点根目录下的wp-config.php文件,在最后面添加如下代码:

define('DISABLE_WP_CRON', true);

然后保存。

2、我们设置定时任务每15分钟执行一次,支持get、curl、php等几种方式触发任务

登陆站点的SSH,执行如下命令

*/15 * * * * wget -q -O - https://shopee6.flxzz.com/wp-cron.php?doing_wp_cron &>/dev/null

*/15 * * * * curl https://shopee6.flxzz.com/wp-cron.php?doing_wp_cron &>/dev/null

以上大部分网址基本执行第一条命令就行了。以上自行将代码中的域名改为自己的域名。

三、编译安装Rocket Nginx

首先用SSH登陆进入站点的Nginx目录,这里虾皮路以BT宝塔站点安装的Nginx为例。

cd /www/server/nginx/conf

然后克隆Rocket Nginx库

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

然后生成默认配置,必须重命名禁用的ini文件并运行配置解析器

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

然后在rocket-nginx文件夹中就生成了一个默认的default.conf文件。

记住这个default.conf文件的默认地址,这里以BT宝塔的文件夹为例,如下

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图1

default.conf文件地址为:www/server/nginx/conf/rocket-nginx/default.conf;

然后打开网站的配置文件,加入如下代码:

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

如图所示

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图2

在SSH里测试Nginx是否正常工作,以免配置错误造成Nginx瘫痪,用如下代码测试

nginx -t

如果没有报错,则重启Nginx服务

service nginx reload

全部过程的代码很简单,操作的过程大概如下:

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图3

四、检测Rocket Nginx配置是否生效

打开rocket-nginx文件夹下的rocket-nginx.ini文件,将其中的debug = false改为debug = true,如图所示

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图4

当然,里面还有一些设置可以进行配置,比如缓存的文件类型等等,一般是默认设置。

注意:每次修改设置rocket-nginx.ini文件,都需要重新运行解析器来重新生成Nginx配置文件。也就是用SSH登陆后,到达相应的文件夹运行代码

php rocket-parser.php

测试它以确保它没有产生任何错误:

nginx -t

重新加载配置:

service nginx reload

将网站的缓存清理掉,重新打开自己的站点测试一下,然后用谷歌浏览器看网页的标头

显示:X-Rocket-Nginx-Serving-Static:yes的话,那说明设置成功。

如果显示:X-Rocket-Nginx-Serving-Static:no,说明不成功。

五、可能出现的问题

无论debug设置为0还是1,都会显示以下标头:

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

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

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

不提供缓存文件的原因:

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

六、效果对比

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速到底有没有效果呢?这里虾皮路进行了初步测试,以虾皮路首页为例。

未安装Rocket Nginx的情况下加载网页

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图5

安装Rocket Nginx的情况下加载网页

安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速插图6

总的来说速度变化提升不明显,有可能有一定的误差。这点见仁见智吧。总的来说,有兴趣的话可以安装来测试一下,或者虾皮路哪里设置有问题的,也可以告诉虾皮路。

 收藏 (0) 更新不易,打赏吧

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《安装Rocket Nginx让WP Rocket实现Nginx的纯静态加速》
文章链接:https://www.xiapilu.com/web/web-tutorial/rocket-nginx-wp-rocket-static-acceleration.html
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活