Brotli 是 Google 開發(fā)的一種壓縮格式,它通過內置分析大量網頁得出的字典,實現了更高的壓縮比率,同時幾乎不影響壓縮 / 解壓速度。
本站通過 ngx_brotli 模塊來讓 Nginx 支持 Brotli 壓縮方式。本文介紹其配置方式。
安裝模塊
若要啟用 ngx_brotli 模塊,需要在編譯 Nginx 時,加入相應模塊:
# 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 模塊后,你就可以在配置文件里啟用它了:
# 配置段: http, server, location
# 開啟 ngx_brotli 壓縮
brotli on;
# 指定壓縮數據的最小長度,只有大于或等于最小長度才會對其壓縮。這里指定 20 字節(jié)
brotli_min_length 20;
# Brotli 請求緩沖區(qū)的數量和大小
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;