前述
随着近些年网站数目的暴涨和信息量的激增,网站的加载速度成为了一大突出问题,如果你的网站加载速度不够优秀,用户就很有可能直接关掉你的网站,因为网上有很多比你更快的网站提供相同的服务,用户就不会选择你,今天就来教
大家如何使用宝塔面板官方的nginx安装脚本来添加Nginx对谷歌的brotli压缩算法的支持,使用brotli来减少你的站点的加载时间.
效果图:

这是开启brotli算法支持

这是传统Gzip算法
可以看到brotli算法压缩率大概33.7% (brotli 3级压缩)
而Gzip仅有5%左右
而加载速度方面brotli比Gzip快了66%
准备
- 操作系统:CentOS 7.9
- 宝塔面板:7.9.2最新正式版
- Nginx:1.21.4
- 用户:Root
正文
想要获取宝塔官方的Nginx安装脚本,就得先用编译方式安装一次任意版本Nginx,然后进入/www/server/panel/install目录就会看到nginx.sh脚本:

这个脚本就是本文章的核心依赖
第一步:克隆brotli仓库到本地
cd /www/server
git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init
你会得到类似于下面的输出:
[root@localhost server]# git clone https://github.com/google/ngx_brotli
Cloning into 'ngx_brotli'...
remote: Enumerating objects: 206, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 206 (delta 0), reused 1 (delta 0), pack-reused 203
Receiving objects: 100% (206/206), 74.99 KiB | 0 bytes/s, done.
Resolving deltas: 100% (90/90), done.
[root@localhost server]# cd ngx_brotli && git submodule update --init
Submodule 'deps/brotli' (https://github.com/google/brotli.git) registered for path 'deps/brotli'
Cloning into 'deps/brotli'...
remote: Enumerating objects: 6548, done.
remote: Counting objects: 100% (469/469), done.
remote: Compressing objects: 100% (231/231), done.
remote: Total 6548 (delta 233), reused 433 (delta 223), pack-reused 6079
Receiving objects: 100% (6548/6548), 39.16 MiB | 8.26 MiB/s, done.
Resolving deltas: 100% (4146/4146), done.
Submodule path 'deps/brotli': checked out 'f4153a09f87cbb9c826d8fc12c74642bb2d879ea'
[root@localhost ngx_brotli]#
注意:因为GitHub是国外网站难免会出现克隆失败的情况,请多试几遍
修改Nginx安装脚本
在宝塔面板文件上方地址栏中输入以下内容:
/www/server/panel/install
然后回车进入
https://image.linxi.info/i/2022/06/02/gmjo86.png
找到nginx.sh
Ctrl+F查找 ”Install_Configure()“

向下翻找到./configure ....内容

在第一个--add-module=之前添加--add-module=/www/server/ngx_brotli
,Ctrl+S保存
一定要注意前后空格!

然后Ctrl+F查找 case "${version}" in

在那些版本中找到并记住你要安装的版本(我是1.21)
关闭文本编辑器
在上面找到终端:


注意一定要以Root身份登录!!!
注意一定要以Root身份登录!!!
注意一定要以Root身份登录!!!
输入以下指令(1.21是nginx版本):
sh nginx.sh install 1.21
等待安装完成
出现以下页面代表安装成功:

执行以下命令验证是否成功:
/www/server/nginx/sbin/nginx -V|grep brotli
如果得到nginx -V的全部编译参数则代表成功

在配置文件中启用brotli算法
使用宝塔面板编辑Nginx主配置文件:

在配置文件的http块中添加以下配置然后Ctrl+S保存:
brotli on;
brotli_comp_level 3;
brotli_buffers 16 8k;
brotli_min_length 20;
brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl image/x-icon image/jpeg image/gif image/png image/bmp application/octet-stream font/woff2;
brotli_static always;
brotli_window 512k;
重载服务后就可以看到brotli了