启用Brotli压缩可提升17–25%压缩率,需先编译安装ngx_brotli模块,再配置brotli相关参数,最后验证content-encoding为br;Brotli与Gzip可共存,Nginx自动按Accept-Encoding协商优先级。

如果您在宝塔面板中已启用Gzip压缩,但希望进一步提升网页加载速度,则可考虑启用Brotli压缩。Brotli是一种现代压缩算法,相比Gzip可提升约17–25%的压缩率,尤其对HTML、CSS、JavaScript等文本资源效果显著。以下是开启Brotli压缩的具体操作步骤:
一、编译安装支持Brotli的Nginx
宝塔面板默认Nginx不内置Brotli模块,需通过源码编译方式添加。此步骤为启用Brotli的前提,必须完成。
1、使用SSH以root身份登录服务器,执行以下命令下载Brotli模块源码:
cd /www/server
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
2、进入宝塔面板【软件商店】→ 找到已安装的Nginx → 点击【卸载】(操作前请务必创建服务器快照备份)。
3、返回【软件商店】→【运行环境】→ 找到Nginx → 点击【安装】→ 在弹出窗口中选择【编译安装】。
4、点击【添加自定义模块】,在模块路径中填写:/www/server/ngx_brotli,勾选该模块后提交。
5、等待编译完成并自动重启Nginx服务。
二、配置Brotli压缩参数
编译完成后需在Nginx主配置中启用Brotli功能,并设定合理压缩策略,确保兼容性与性能平衡。
1、进入宝塔面板【软件管理】→ 找到Nginx → 【设置】→ 【配置修改】。
2、在http区块内(位于gzip配置之前或之后均可),插入以下配置段:
brotli on;
brotli_comp_level 4;
brotli_buffers 16 8k;
brotli_min_length 20;
brotli_types text/plain text/css application/javascript application/x-javascript text/javascript application/json application/xml text/html image/svg+xml image/x-icon;
brotli_static off;
3、保存配置文件,然后点击【重载配置】使新设置生效。
三、验证Brotli是否成功启用
配置生效后,需通过浏览器开发者工具确认响应头中是否包含Brotli压缩标识,避免配置未被实际调用。
1、打开目标网站,按F12打开开发者工具,切换至【Network】标签页。
2、刷新页面,任选一个HTML、CSS或JS资源,点击进入详情页。
3、在【Response Headers】中查找content-encoding字段,确认其值为br。
4、若显示gzip或为空,则说明Brotli未生效,需检查Nginx是否重载、配置位置是否在http块内、以及客户端是否支持Brotli(Chrome、Firefox、Edge新版均支持)。
四、与Gzip共存及优先级控制
Brotli与Gzip可同时启用,Nginx会根据客户端Accept-Encoding请求头自动选择最优压缩方式,Brotli具有更高优先级。
1、确保Nginx配置中同时存在gzip on;与brotli on;两行指令。
2、无需额外配置协商逻辑,Nginx原生支持基于Accept-Encoding: br,gzip的自动降级。
3、若某资源未触发Brotli压缩,检查其大小是否低于brotli_min_length设定值,或MIME类型是否在brotli_types列表中。
五、优化Brotli压缩性能的进阶调整
针对不同服务器负载与内容特征,可微调Brotli参数以平衡CPU开销与压缩收益。
1、将brotli_comp_level从默认6降至4,适用于CPU资源受限的低配VPS,仍保持显著优于Gzip的压缩率。
2、将brotli_min_length设为20字节,确保小型JS/CSS片段也被压缩,避免遗漏小资源。
3、禁用brotli_static on,改用brotli_static off,防止因预生成.br文件缺失导致404或回退失败。
4、在brotli_types中显式加入application/font-woff与image/svg+xml,覆盖更多现代前端资源类型。










