紫色文字

这是浅蓝色的短代码框,用于显示一些信息。

前言

Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与 Gzip相比效率提升约 17-25%。这里简单说一下如何在宝塔面板Nginx开启Brotli压缩。


下载Brotli

cd /www/server
#下载brotli
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
#更新brotli
git submodule update --init

配置Nginx Brotli模块

1.登录宝塔管理面板 -> 软件商店 -> 已安装 找到Nginx ~不要犹豫~ (还是推荐备份下系统快照) 直接点击 卸载!

2.点击 软件商店 ->运行环境 找到Nginx 不要犹豫 点击安装在弹出的窗口中选择编译安装 点击添加自定义模块

模块名称:ngx_brotli
模块描述:ngx_brotli
模块参数:--add-module=/www/server/ngx_brotli

填写完成后返回安装选项✔刚刚添加的模块提交,等待安装完成即可!

2.安装Nginx。添加自定义模块

3.给网站开启brotli压缩

软件商店找到Nginx点击设置选择配置修改将以下代码插入http段保存即可。Tips: Britli和Gzip可以共存无需关闭Gzip
# brotli
        brotli on;
        brotli_comp_level 1;
        brotli_buffers 16 8k;
        brotli_min_length 20;
        brotli_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml text/javascript image/tiff image/svg+xml application/json application/xml;

brotli on;
brotli_comp_level 6;
brotli_min_length 512;
brotli_types text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
brotli_static always;

自用

brotli on;
brotli_comp_level 6;
brotli_buffers 16 8k;
brotli_min_length 20;
brotli_types text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
brotli_static always;

参数说明

brotli on;               #启用
brotli_comp_level 6;     #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPU
brotli_buffers 16 8k;    #请求缓冲区的数量和大小
brotli_min_length 20;    #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定20字节
brotli_types text/plain; #指定允许进行压缩类型
brotli_static always;    #是否允许查找预处理好的、以.br结尾的压缩文件,可选值为on、off、always
brotli_window 512k;      #窗口值,默认值为512k

打开网站查看标头若返回br即启用成功。


ps:

  • PS: brotli只会在https状态下才会生效,http状态会使用Gzip
  • 问:这个和Nginx的Gzip冲突吗?

答:不冲突,但是Br相对Gzip效率高但对CPU资源占用也高,如果单核机器就不建议都开了

参考:
https://www.zxki.cn/jsjc/5172.html
https://www.vvso.cn/xlbk/17297.html
最后修改:2022 年 12 月 10 日
如果觉得我的文章对你有用,请随意赞赏