天天看点

openresty开启br压缩

前言

之前有一篇文章写过安装 ​

​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 [email protected]: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 ""; 
      

题外话

继续阅读