宝塔面板Nginx自编译zstd压缩加速网站

在对网站,如WordPress优化中,压缩技术是一种重要手段,可以显著减少页面文件的大小,从而提升网页加载速度,降低带宽消耗。常见的压缩技术包括 gzipBrotli (br) 和 Zstandard (zstd)。本文老白博客主要谈谈在宝塔面板中如何启用三个压缩,以及针对性的编译zstd-nginx-module模块,并启用ZSTD压缩。

宝塔面板Nginx自编译zstd压缩加速网站

本文主要是zstd,关于gzip和brotli压缩的启用与安装可才参考老白之前写的

GZIP:WordPress优化加速之开启GZIP(Nginx+PHP+WordPress)

Brotli:宝塔面板卸载原Nginx编译Brotli压缩

对比:Gzip、Brotli 和 Zstandard 压缩对比和适用性说明

1.宝塔下载zstd-module

参考宝塔 nginx 编译文件目录:/www/server/nginx/src,我们把zstd也放到这里面,当然你也可以自定义

SSH软件连接到服务器,然后执行如下命令

cd /www/server  
git clone https://github.com/tokers/zstd-nginx-module.git
cd nginx-zstd
git submodule update --init

这里最后一步如果报错:

fatal: detected dubious ownership in repository at '/www/server/zstd-nginx-module'
To add an exception for this directory, call:

就添加安全目录:

git config --global --add safe.directory /www/server/zstd-nginx-module

然后再更新

git submodule update --init

这样我们编译时候的路径就是【/www/server/zstd-nginx-module

2.下载nginx.sh

本地下载好zstd后,我们修改nginx的安装脚本,把我们下载好的zstd放进去,一起重新编译安装nginx即可

宝塔面板找到路径:/www/server/panel/install

把之前的那个nginx.sh删掉,然后下载新的。命令如下:

cd /www/server/panel/install
rm -f nginx.sh
wget http://download.bt.cn/install/0/nginx.sh

当然,直接在面板里面操作也可以,删除nginx.sh文件,如图:

宝塔面板Nginx自编译zstd压缩加速网站

然后下载:http://download.bt.cn/install/0/nginx.sh

宝塔面板Nginx自编译zstd压缩加速网站

说明
这里为什么要重新下载呢,似乎是宝塔每次安装nginx后,nginx.sh脚本都会自动覆盖一次

3.修改nginx.sh

宝塔面板找到路径:/www/server/panel/install

找到文件nginx.sh 打开开始编辑。大概在446行,也可搜索关键词./configure --user

添加下面的压缩模块代码

此处为隐藏内容,请评论后查看

4.重装nginx

之后回到ssh客户端使用命令开始编译,根据自己的版本,因为老白博客这台服务器安装的版本是nginx 1.27,所以用编译命令如下:

sh /www/server/panel/install/nginx.sh install 1.27

5.网站启用zstd压缩

最后,在你的网站的Nginx配置中加入zstd代码即可

zstd on;
zstd_static on;
zstd_comp_level 4;
zstd_buffers 8 256k;
zstd_min_length 50;
zstd_types application/atom+xml application/javascript application/json application/vnd.api+json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/richtext text/plain text/x-script
text/x-component text/x-java-source text/x-markdown text/javascript text/xml
application/x-perl application/x-httpd-cgi multipart/bag multipart/mixed application/wasm;

位置如下图,就添加在代码gzip on;的上面

宝塔面板Nginx自编译zstd压缩加速网站

6.zstd验证与说明

配置完成保存之后可以重启nginx,之后浏览器打开网站就可以看到效果了,如图:

宝塔面板Nginx自编译zstd压缩加速网站

Zstd与GZIP可以同时共存,当同时开启两种压缩算法时,zstd 压缩等级优先级高于 Gzip如果浏览器不支持zstd会用gzip方式压缩,所以这个东东值得你拥有。

宝塔面板Nginx自编译zstd压缩加速网站

注意
如果你启用了brotli、zstd和gzip,通常情况会优先使用brotli,然后zstd。