https://www.mf8.biz/ngx_brotli/
之前有一篇文章写过安装 google/ngx_brotli ,详情:《Nginx 使用 Brotli 压缩算法,Better than Gzip Compression》,不过呢,由于 ngx_brotli 程序的发展,所以之前的教程不再适合新的 ngx_brotli 了。
关于 brotli 的具体介绍,还请看上一篇文章。
之前 google/ngx_brotli 是需要依赖 bagder/libbrotli 库的,这就导致了安装比较复杂而且 libbrotli 还容易安装出错(写脚本的时候就死在这个上了,真心体会)。
现在 google/ngx_brotli 从 16年12月的版本起,开始内置 google/brotli,以为着我们不需要额外编译 bagder/libbrotli 库了,让安装变得简单起来了。
注: 除 google/ngx_brotli 之外,还有 cloudflare/ngx_brotli_module,安装方法和本文一样,不过后者很久没更新了,而且也不是谷歌亲儿子应用,所以还是后者好。
例如,我们将 google/ngx_brotli 下载并解压到 /tmp/ngx_brotli 目录。
cd /tmp
git clone https://github.com/google/ngx_brotli.git
然后在下载 google/brotli 并解压到 /tmp/ngx_brotli/deps/brotli
cd ngx_brotli/deps/brotli
git clone git@github.com:google/brotli.git
然后编译 nginx 加入 --add-module=/tmp/ngx_brotli 参数。
cd nginx-1.10.3
./configure --add-module=/tmp/ngx_brotli
编辑 nginx.conf 文件,在http配置段增加以下配置,然后重启即可
brotli on;
brotli_comp_level 6;
brotli_buffers 16 8k;
brotli_min_length 20;
brotli_types *;
如果,nginx 反代的程序也启了 gzip 压缩,就要设置 反代禁用 gizp
反代代码中添加:
proxy_set_header Accept-Encoding "";
因为不用安装 libbrotli 了,所以也不会有 nginx: error while loading shared libraries: libbrotlienc.so.1: cannot open shared object file: No such file or directory,还是很棒棒的。
原文:https://www.cnblogs.com/yangxiufeng/p/15311408.html