一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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。需在 httpserverlocation 块中添加:

  1. brotli on; —— 启用 Brotli 压缩功能
  2. brotli_static off; —— 关键!设为 off 才走动态编码路径;若设为 onalways,Nginx 将跳过实时压缩,只尝试查找预生成的 .br 文件

设置合理的 brotli_comp_level 压缩级别

Brotli 支持 0–11 共 12 级压缩质量,但并非越高越好:

  1. 推荐值为 46:兼顾压缩率与 CPU 开销,响应延迟可控
  2. 设为 11 会显著增加服务器 CPU 负担,尤其在高并发时可能拖慢整体响应
  3. 静态资源(如 JS/CSS)若已预压缩,该参数对它们无影响;它只作用于动态生成内容

配合其他必要指令才能真正生效

单独开 brotli on 和调 comp_level 不够,还需满足以下条件:

  1. brotli_types 明确列出要压缩的 MIME 类型,例如:text/html text/css application/javascript application/json;二进制类型(如 image/jpeg)不应加入
  2. brotli_min_length 设置最小响应体长度,默认仅 20 字节,太低易造成小响应白耗 CPU;建议设为 1024(1KB)或更高
  3. 确保请求头含 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;

热门栏目