最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 如何在 Nginx 配置文件中启用 Brotli 压缩指令并设置压缩级别
时间:2026-09-01 20:27:49 编辑:袖梨 来源:一聚教程网
必须先编译安装ngx_brotli模块,再在http/server/location块中显式配置brotli on、brotli_static off、brotli_comp_level 4–6、brotli_min_length ≥1024及精准brotli_types,且仅HTTPS下生效。
要在 Nginx 配置文件中启用 Brotli 压缩,必须先确保已正确编译安装 ngx_brotli 模块。模块就位后,压缩行为由明确的指令控制,不能仅靠“支持”就自动生效。
brotli on 必须显式开启
这是启用动态压缩的第一步,缺省为 off。需在 http、server 或 location 块中添加:
-
brotli on;—— 启用 Brotli 压缩功能 -
brotli_static off;—— 关键!设为off才走动态编码路径;若设为on或always,Nginx 将跳过实时压缩,只尝试查找预生成的.br文件
设置合理的 brotli_comp_level 压缩级别
Brotli 支持 0–11 共 12 级压缩质量,但并非越高越好:
- 推荐值为
4到6:兼顾压缩率与 CPU 开销,响应延迟可控 - 设为
11会显著增加服务器 CPU 负担,尤其在高并发时可能拖慢整体响应 - 静态资源(如 JS/CSS)若已预压缩,该参数对它们无影响;它只作用于动态生成内容
配合其他必要指令才能真正生效
单独开 brotli on 和调 comp_level 不够,还需满足以下条件:
-
brotli_types明确列出要压缩的 MIME 类型,例如:text/html text/css application/javascript application/json;二进制类型(如image/jpeg)不应加入 -
brotli_min_length设置最小响应体长度,默认仅 20 字节,太低易造成小响应白耗 CPU;建议设为1024(1KB)或更高 - 确保请求头含
Accept-Encoding: br(现代浏览器在 HTTPS 下才会发送),且服务端未禁用 Brotli(如通过gzip_disable错误匹配)
典型配置示例(放在 http 块内)
全局启用、安全高效的做法如下:
brotli on;brotli_static off;brotli_comp_level 5;brotli_min_length 1024;brotli_types text/plain text/css text/javascript application/javascript application/json text/xml application/xml application/xml+rss application/xhtml+xml application/rss+xml application/atom+xml application/x-javascript application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
相关文章
- Redis 哈希(Hash) 09-03
- Redis 列表(List) 09-03
- Redis 集合(Set) 09-03
- Redis 有序集合(sorted set) 09-03
- SQL Server 数据库可以在内网连接访问的做法(C# 项目通用)实用指南 09-02
- TPLink TLWR847N 无线路由器上网控制管控网络权限 09-02