1. it168资讯网首页
  2. 网站教程

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程

大家在做网站优化的过程中,基本都知道开启Gzip压缩,因为开启Gzip压缩后,文件被压缩了,然后网站的访问及下载也加快了,因此想要网站访问快一点的话Gzip压缩是必须开启的。但是大家除了Gzip压缩有…

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图

大家在做网站优化的过程中,基本都知道开启Gzip压缩,因为开启Gzip压缩后,文件被压缩了,然后网站的访问及下载也加快了,因此想要网站访问快一点的话Gzip压缩是必须开启的。但是大家除了Gzip压缩有没有听说其他压缩算法?今天it168资讯就给大家介绍一下Brotli压缩,比Gzip压缩更厉害,开启后可以极大加快网站的访问速度。

还没安装BT宝塔面板?点击如下安装:

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

之前it168资讯也介绍了不少网站优化加快网站访问速度的文章,比如

  1. BT宝塔面版通过NGINX开启TLSV1.3网站加速
  2. WordPress使用又拍云CDN云存储网站加速及图片Webp优化全教程
  3. 利用BT宝塔面版反向代理/负载均衡/自建CDN加速海外网站访问
  4. CommonWP插件-使用免费CDN加速JS及CSS文件让海外网站访问更快
  5. 利用Cachify插件实现网站加速-WordPress必备插件之一

今天it168资讯再介绍一下BT宝塔面版开启Brotli压缩加速网站访问详细图文教程。

一、什么是Brotli压缩

Google 在 2015 年 9 月推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压缩效率。

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图1

Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。

与常见的通用压缩算法不同,Brotli使用一个预定义的120千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库。预定义的算法可以提升较小文件的压缩密度。

使用brotli替换deflate来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。使用Brotli进行流压缩的内容编码类型已被提议使用“br”。

二、Brotli压缩和Gzip压缩哪个好

其实很多人会问,那么Brotli压缩和Gzip压缩哪个好?这里it168资讯先科普一下Gzip压缩

Gzip 基于 DEFLATE 算法,它是 LZ77 和霍夫曼编码的组合,最早用于 UNIX 系统的文件压缩。HTTP 协议上的 Gzip 编码是一种用来进 Web 应用程序性能的技术,Web 服务器和客户端(浏览器)必须共同支持 Gzip,当下主流的浏览器都是支持 Gzip 压缩,包括 IE6、IE7、IE8、IE9、FireFox、Google Chrome、Opera 等。

Brotli 压缩算法具有多个特点,最典型的是以下 3 个:

  1. 针对常见的 Web 资源内容,Brotli 的性能相比 Gzip 提高了 17-25%;
  2. 当 Brotli 压缩级别为 1 时,压缩率比 Gzip 压缩等级为 9(最高)时还要高;
  3. 在处理不同 HTML 文档时,Brotli 依然能够提供非常高的压缩率。

除了 IE 和 Opera Mini 之外,几乎所有的主流浏览器都已支持 Brotli 算法。

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图2

当Brotli压缩和Gzip压缩算法都是默认值的情况下,对比测试如下:

原始大小 Gzip压缩 Brotli压缩
HTML文件 88.20KB 25.17KB 21.45KB
CSS文件 28KB 7.52KB 5.73KB
JS文件 274KB 99.37KB 76.25KB

经过以上对比,我们看到使用Brotli压缩相比较使用Gzip压缩的,体积至少都减少了25-30%,说明压缩率更高。这就更加坚定了我们要开启Brotli压缩的决心。

三、如何开启Brotli压缩

终于到了说正事的时候,网站该如何开启Brotli压缩呢?

这里以BT面版为例,因为很多时候我们默认的环境都是LNMP,其实也就是L指Linux,N指Nginx,M一般指MySQL,P一般指PHP。这里我们主要说的是Nginx,因为Nginx默认是没有包含Brotli压缩模块的,而且BT宝塔面版里也没有相应的设置选项,因此要编译Nginx来开启Brotli压缩。

1、通过SSH登录主机

输入如下命令进入server文件夹内:

cd /www/server

2、下载brotli

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

3、进入文件夹后更新brotli

cd ngx_brotli
git submodule update --init

4、修改Nginx文件

有的人喜欢用命令操作,这里it168资讯给大家介绍用BT宝塔面版后台操作

登录BT宝塔面版后台,打开左边面版菜单文件,然后进入如下目录

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图3

先删除nginx.sh文件

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图4

再重新从BT官方下载新的nginx.sh文件,在URL地址里面填入:

http://download.bt.cn/install/0/nginx.sh
BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图5

一般几秒钟就下好了。

接下来点击nginx.sh文件右边的编辑,修改nginx.sh文件

可以直接查找代码:

./configure --user=www --group=www --prefix=${Setup_Path} ${ENABLE_LUA}

然后在这代码后面加入如下代码后保存(注意两边空格)

--add-module=/www/server/ngx_brotli

保存后的效果如下:

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图6

5、编译安装nginx

首先在编译前我们要检查自己原来的nginx版本,输入命令检查

nginx -v

一般会返回相应的代码,我们可以知道原来的Nginx的版本是多少,比如代码返回的是Nginx 1.15.10,那么我们就知道原来安装的的版本是Nginx 1.15.10

注意:编译安装需要时间,虽然不是很长,但是期间会导致你原来上面的网站无法访问,因此建议先备份,同时选择合适的时间操作。

然后登陆SSH,输入如下命令进行编译安装

sh /www/server/panel/install/nginx.sh install 1.15.10

如果以上你的Nginx的版本是1.17,那么以上你的代码最后面的数字要改为1.17

回车编译后,我们就开始等。编译安装的时间主要根据你的主机配置而定。像it168资讯的主机大概花了5分钟不到。

编译完成后,输入nginx -v命令再次检查brotli模块是否编译安装成功

如果已经出现了ngx_brotli说明编译成功

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图7

6、在Nginx里开启brotli

到了最后一步,我们需要在Nginx里开启brotli,先登录BT宝塔面版,选择软件商店-已安装

我们会发现我们原来的Nginx已经变成了Nginx -Tengine2.2.4(2.3.2)

有的人会问Tengine是什么

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

简单来说比原来的Nginx性能更好。其余的自行百度。

点击Nginx -Tengine2.2.4(2.3.2)的设置,选择配置修改

在Gzip的代码后面加入如下代码:

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;    #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPU
brotli_buffers 16 8k;   #请求缓冲区的数量和大小
brotli_min_length 20;   #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定20字节
brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml text/html application/json image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl image/x-icon image/jpeg image/gif image/png image/bmp;   #指定允许进行压缩类型
brotli_static always;   #是否允许查找预处理好的、以.br结尾的压缩文件,可选值为on、off、always
brotli_window 512k;     #窗口值,默认值为512k

效果如下图

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图8

保存后,重启Nginx即可。

如果开启了反向代理的话,那么源站和反代站都要编译安装brotli,并开启brotli。

四、如何检测Brotli压缩是否开启成功

接下来我们如何验证brotli是否开启成功呢?

用谷歌浏览器打开相应的站点。点击右键后,点击检查,查看标头是否有br字样,比如下面:

BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图9
BT宝塔面版开启Brotli压缩加速网站访问详细图文教程插图10

以上就是it168资讯介绍的BT宝塔面版开启Brotli压缩加速网站访问详细图文教程,这样可以Gzip和Brotli共存,老版本的浏览器自动用Gzip压缩。

还没安装BT宝塔面板?点击如下安装:

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

原创文章,作者:admin,如若转载,请注明出处:https://www.it168.online/webtech/2386/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注