blog/nginx/brotli
bing e06605cbf2 feat 添加nginx br压缩 2022-02-09 21:05:22 +08:00
..
readme.md feat 添加nginx br压缩 2022-02-09 21:05:22 +08:00

readme.md

nginx开启br压缩

参考项目brotli

br压缩只能在https中开启。

编译模块

下载nginx源码用于编译模块, 不需要编译nginx源码需要与运行的nginx版本对应。

wget http://nginx.org/download/nginx-1.21.6.tar.gz
tar xf nginx-1.21.6.tar.gz

下载项目源码

git clone https://github.com/google/ngx_brotli.git

安装依赖包

yum install brotli brotli-devel pcre2-devel

配置并编译

cd nginx-1.21.6
./configure --with-compat --add-dynamic-module=/home/kun1h/git/ngx_brotli/
make modules

编译好的模块在objs目录。

运行并加载模块

使用docker运行nginx

sudo docker run --name nginx -p 80:80 -v /data/nginx/modules:/usr/lib/nginx/modules/extend -v /data/nginx/conf.d:/etc/nginx/conf.d -v /data/nginx/html:/var/www/html -v /data/nginx/logs:/var/log/nginx -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf -d nginx:1.21

配置nginx.conf。添加以下内容到nginx.conf的顶部

#for modules
load_module modules/extend/ngx_http_brotli_filter_module.so;
load_module modules/extend/ngx_http_brotli_static_module.so;

配置必须位于 event {}http {}之前

开启br压缩

    brotli on;
    brotli_comp_level 6;
    brotli_buffers 16 8k;
    brotli_min_length 20;
    brotli_types *; #*表示压缩所有资源,也可以指定资源类型