紫色文字
这是浅蓝色的短代码框,用于显示一些信息。
前言
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