Brotli是一种通用无损压缩算法,它使用LZ77算法的现代变体、霍夫曼编码和二阶上下文建模的组合来压缩数据,压缩比与目前最好的通用压缩方法相当。它的速度与deflate相似,但提供了更密集的压缩。deflate则是nginx默认使用的压缩模式。
项目地址:
https://github.com/google/ngx_brotli
静态编译方式:
git clone https://github.com/google/ngx_brotli cd /usr/local/ngx_brotli git submodule update --int #更新依赖 cd nginx_source ./configure {nginx原先的配置参数} --add-module=/usr/local/ngx_brotli make ## 后续则是平滑升级部分
模块配置:
brotli on; brotli_comp_level 6; brotli_buffers 16 8k; brotli_min_length 20; brotli_types *; brotli_window 512k;
响应头显示Content-Encoding:br,说明生效了。brotli可以和Nginx默认的压缩配置很好的兼容在一起,因此nginx默认的压缩配置无需删除,只要添加brotli的配置即可(建议配置在http段),其他参数可以看官方文档。