之前本站分享了一篇关于在宝塔面板中让 Nginx 支持 QUIC 和 Brotli 的教程。然而,一些小伙伴表示暂时不考虑升级到 HTTP/3,而是希望让当前的 Nginx 支持 Brotli 压缩。因此,本文将介绍如何在宝塔面板中为 Nginx 启用 Brotli 压缩,以解决这部分小伙伴的需求。
准备工作
如果你对 Brotli 不是很了解,推荐先阅读: Gzip vs Brotli 压缩算法,谁更好?
Nginx 启用 Brotli 压缩必须 ngx_brotli 模块,考虑到国内一些服务器连接 github.com 实在是太慢,我们分享一个已经打包好的 ngx_brotli 模块(点这里下载,提取码:abcd)。
或者使用百度网盘下载:https://pan.baidu.com/s/1PV4N1F4zlRMT7Fe7UfiSlg?pwd=kg47
如果是境外服务器,建议参照本站之前的教程安装它。
添加 ngx_brotli 模块
在宝塔面板中,打开左侧菜单的“文件”,进入到文件管理器,进入“/www/server”目录。
上传 ngx_brotli.tar.gz 文件(下载好的),并解压到当前目录(/www/server),解压后如下图:

向宝塔面板中的 Nginx 添加编译参数
点击宝塔面板左侧菜单“终端”进入命令行模式,执行下行命令:
echo "--add-module=/www/server/ngx_brotli" > /www/server/panel/install/nginx_configure.pl
提示:如果有其它自定义编译参数也可以添加至 /www/server/panel/install/nginx_configure.pl 文件中,面板会在编译安装 Nginx 时自动添加该文件中的参数。
卸载当前 Nginx 后重新编译安装 Nginx
已开设的站点及配置不用删除,重新安装后会保持原样,但为了以防万一,建议在执行卸载操作之前备份整个服务器快照。
为了确保编译安装及已有的站点配置不出现意外情况,建议重新安装的 Nginx 版本与之前的一致。

切记一定要选择编译安装。
验证编译参数
编译安装完成后,可以使用以下指令查看 Nginx 编译参数中是否存在 ngx_brotli :
nginx -V
配置 Brotli 参数
brotli on; #启用brotli
brotli_comp_level 6; #压缩等级
brotli_buffers 16 8k; #请求缓冲区的数量和大小
brotli_min_length 20; #最小压缩字节
brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml text/html 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/vnd.api+json; #指定允许进行压缩类型
brotli_static always; #预处,可选值为on、off、always
brotli_window 512k; #窗口值,默认值为512k
以上代码添加至 Nginx 的配置文件中,可以在 Gzip 配置参数的下方或上方,如下图:

其中 brotli_comp_level 参数为压缩等级,最低1级,最高11级。等级越高压缩后的文件体积越小,但消耗 CPU 资源越多。
注:本教程介绍的方法仅适合 Linux 系统,包括 Centos、Ubuntu 与 Debian 等。
暂无评论内容