最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 模块配置中如何加载 Brotli 压缩模块替换经典 Gzip
时间:2026-08-16 12:16:49 编辑:袖梨 来源:一聚教程网
Nginx需手动编译集成ngx_brotli模块才能启用Brotli压缩,其与Gzip共存而非替代;须配置brotli on、合理设置brotli_types和brotli_min_length,并仅在HTTPS下生效。
Nginx 本身不内置 Brotli 支持,不能通过简单开关“替换”Gzip,而是要在保留 Gzip 的前提下,额外加载并启用 Brotli 模块——现代浏览器会自动按 Accept-Encoding: br,gzip 优先级选择最优压缩,Brotli 实际上是“叠加增强”,不是“替代卸载”。
必须先编译集成 ngx_brotli 模块
Nginx 最新主线(含 v1.25+)至今未原生支持 Brotli,必须手动引入 google/ngx_brotli 并重新编译:
-
源码部署用户:
- 下载对应 Nginx 版本源码 + 克隆
ngx_brotli -
./configure时添加--add-module=/path/to/ngx_brotli(推荐动态模块--add-dynamic-module) make && make install
- 下载对应 Nginx 版本源码 + 克隆
-
宝塔用户:
- 卸载当前 Nginx(建议先做系统快照)
- 软件商店 → Nginx → 编译安装 → 添加自定义模块 → 指向
/www/server/ngx_brotli - 提交后等待编译完成
-
验证是否成功:
-
nginx -V 2>&1 | grep with-http_brotli_module→ 有输出即集成成功 -
nginx -t不报unknown directive "brotli"错误
-
在配置中启用 Brotli(不干扰 Gzip)
Brotli 和 Gzip 可共存,无需关闭原有 gzip 配置。关键是要把 Brotli 配置放在 http { ... } 块内,并确保以下几项:
brotli on;—— 显式开启,否则不生效brotli_static off;—— 必须关掉,否则会跳过动态压缩、只查.br文件(多数场景不需要预压缩)-
brotli_types列出你实际返回的文本 MIME 类型,例如:text/plain text/css application/javascript application/json text/html image/svg+xml
(二进制类型如
image/jpeg、font/woff2不用加) brotli_min_length 1024;—— 小于 1KB 的响应不压缩,避免 CPU 白耗(默认仅 20 字节,太低)
合理设置压缩级别与适用场景
Brotli 支持 0–11 级,但并非越高越好:
- 动态内容(PHP 渲染页、API JSON 响应):
brotli_comp_level 3–5,兼顾延迟与带宽 - 静态资源(JS/CSS/HTML):
brotli_comp_level 6–7,服务器压力可控时收益明显 - 避免设为 9 或以上:CPU 开销陡增,体积缩减几乎无提升
HTTPS 是硬性前提:Brotli 只在 HTTPS 请求中被浏览器主动声明(Accept-Encoding: br),HTTP 下基本不会触发。
不复杂但容易忽略
相关文章
- 电脑微信传输助手网页版-微信传输助手网页版登录入口 08-16
- 华为路由器复位后怎么重新设置(华为路由器复位后重新设置方法) 08-16
- 0和1是什么梗-中间的0.5又是什么意思 08-16
- iphone17promax重量是多少 08-16
- 巴兔手游盒子app如何交易游戏账号 08-16
- 网易云游戏网页版登录入口详情 08-16