Nginx启用Brotli算法压缩的示例

时间:2021-12-18 18:13:02

Brotli 是 Google 开发的一种压缩格式,它通过内置分析大量网页得出的字典,实现了更高的压缩比率,同时几乎不影响压缩 / 解压速度。

本站通过 ngx_brotli 模块来让 Nginx 支持 Brotli 压缩方式。本文介绍其配置方式。

安装模块

若要启用 ngx_brotli 模块,需要在编译 Nginx 时,加入相应模块:

?
1
2
3
4
5
6
7
8
# get source
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ..
 
# configure
./configure ... --add-module=../ngx_brotli

配置文件

安装完成 ngx_brotli 模块后,你就可以在配置文件里启用它了:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 配置段: http, server, location
 
# 开启 ngx_brotli 压缩
brotli        on;
 
# 指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定 20 字节
brotli_min_length  20;
 
# Brotli 请求缓冲区的数量和大小
brotli_buffers    16 10k;
 
# Brotli 使用的窗口值。默认值为 512k
brotli_window    512k;
 
# 压缩水平可以是 0 到 11,默认值是 6。太高的压缩水平对性能提升并没有太大好处,因为这需要更多的 CPU 时间
brotli_comp_level  6;
 
# 指定允许进行压缩的回复类型
brotli_types    text/html text/xml text/plain application/json text/css image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl application/javascript image/x-icon image/jpeg image/gif image/png;
 
# 是否允许查找预处理好的、以 .br 结尾的压缩文件。可选值为 on、off、always
brotli_static    always;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://sometimesnaive.org/article/49