怎样在Nginx下安装 ngx_http_brotli_static_module

2019年10月14日 | 分类: 【技术】

【介绍】

Brotli 是 Google 一个压缩算法,据说比Zopfli的压缩率要高20–26%(Zopfli是google之前发布的一个和Deflate兼容的压缩算法)。

Chrome 49+、Firefox 44+以及Opera 36+都支持Brotli。

brotli压缩算法只有在https连接中才能生效。

【安装】

参考:https://www.robberphex.com/compile-ngx_brotli-as-dynamic-nginx-module/

下载:https://github.com/bagder/libbrotli

1. 编译 libbrotli :

cd /root && git clone https://github.com/bagder/libbrotli
./autogen.sh
./configure
make
make install

2. 编译 modsecurity nginx dynamicmodule :

下载源码到 nginx 源代码目录中。

cd /root/nginx-1.17.4 && git clone https://github.com/google/ngx_brotli

编辑 ngx_brotli/config 文件,在顶部添加一行:

have=NGX_HTTP_HEADERS . auto/have

nginx 编译时可以通过 –add-module 添加 ngx_brotli 模块:

cd /root/nginx-1.17.4 && ./configure --add-dynamic-module=./ngx_brotli && make modules
cp objs/ngx_http_brotli_static_module.so /usr/local/nginx/modules/
cp objs/ngx_http_brotli_filter_module.so /usr/local/nginx/modules/

【配置】

编辑 /usr/local/nginx/conf/nginx.conf ,在 main 标签中添加:

load_module modules/ngx_http_brotli_static_module.so;
load_module modules/ngx_http_brotli_filter_module.so;

在 http 标签中添加如下两个配置:

brotli on;
brotli_static on;

【测试】

再执行 nginx -t 看看有没有错误。