编译安装 Nginx Brotli
安装部署宝塔面板==> 软件商店 ==> 运行环境 ==> Nginx ==> 安装
勾选编译安装 ==> 添加自定义模块
根据下方截图添加如下内容后,点击提交按钮。
模块名称:
ngx_brotli
模块描述:
ngx_brotli 压缩模块
模块参数:
--add-module=/www/server/ngx_brotli
前置脚本:
cd /www/server
git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init
勾选刚刚添加的 ngx_brotli 模块,点击提交按钮。
开启Brotli压缩
在nginx的配置文件中增加以下配置来开启brotli。
brotli on; #启用
brotli_comp_level 6; #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPU
brotli_buffers 16 8k; #请求缓冲区的数量和大小
brotli_min_length 20; #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定20字节
brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml text/html application/json image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl image/x-icon image/jpeg image/gif image/png image/bmp; #指定允许进行压缩类型
brotli_static always; #是否允许查找预处理好的、以.br结尾的压缩文件,可选值为on、off、always
brotli_window 512k; #窗口值,默认值为512k
增加完配置,记得reload一下nginx,确保新增的配置生效。
Gzip对比
开启brotli压缩时测试页面时间为587ms
chrome自从48版本之后就支持brotli压缩了,我这边是gzip和brotli都开启了,以便完美兼容部分老旧的浏览器不支持Brotli的时候会自动变成Gzip压缩。最最需要说明的是brotli压缩仅在https协议下生效。