WP-Rocket配合nginx实现纯静态化加速WordPress

2021-08-09 15:03:09 浏览数 (1)

建站教程

WP-Rocket配合nginx实现纯静态化加速WordPress

WP Rocket缓存插件是当前最高效也是最灵活的WordPress静态缓存插件。WP Rocket在性能方面集成了所有最新功能:延迟图像加载,延迟加载javascipt,缩小html代码体积,连接和所辖javascript文件。WP Rocket还拥有自己的自托管爬虫机器人,它将访问您的站点并生成缓存文件,以便当人访问者访问您的站点时,他们会立即获得该页面的快速缓存版本。我们还有一个站点地图预载功能。

前言

1、appache服务器 如果大家使用的apache服务器就比较简单。可通过wordpress后台插件直接上传或者FPT方式上传到wp-content/plugins目录解压启用即可。比较简单的操作就不详细写了。

2、nginx服务器 如果是nginx服务器就比较复杂了。因为插件默认支持的是apache的伪静态。不过这也难不倒我们,并且官方也给了详细的解决办法。

编译并安装rocket-nginx

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

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

执行以下命令将模块克隆到你的Nginx安装目录:

首先找到你服务器或VPS的nginx安装目录,这里以我的服务器为例:

下面以宝塔面板为例,其他环境自行替换

代码语言:javascript复制
cd /www/server/nginx
git clone https://github.com/maximejobin/rocket-nginx.git
cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini
php rocket-parser.php

运行完成后,在rocket-nginx文件夹内会生成default.conf的配置文件。

配置Nginx Conf文件

代码语言:javascript复制
server {
  ...
 # Rocket-Nginx configuration
include  /www/server/nginx/rocket-nginx/default.conf;
  ...
}

如果没有报错我们重启nginx即可 service nginx reload

检验配置是否生效

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

代码语言:javascript复制
debug = false

修改为:

代码语言:javascript复制
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无法知道该请求是由移动或桌面设备。
  • 文件未缓存:未找到该请求的缓存文件。

功能使用

1、支持couldfare的CDN对接 在开启了cloudflare功能以后,可以根据要求填写内容获取授权。这样很方便结合CDN调试,达到最好的加速效果。具体如何对接上面也有引导性帮助。首先注册cloudflare账户,然后获取API即可。cloudflare的免费版本还是很强大的,提供免费的DDOS保护,以后博主也会专门做一个cloudflare小文章和大家共同学习。

2、HTML、CSS、JS文件压缩缓存

  1. HTML、css、js压缩能够减少加载时间,但是一定要注意有些主题和插件有冲突。所以在启用的时候要注意观察。
  2. 提供排除功能,如果你想个别的css或者js文件不允许压缩,可以在内容框里面按照提供的格式排除。

总结

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

0 人点赞