宝塔面板Nginx开启Brotli压缩,网站加载速起飞
熊猫 管理员 已认证 10月前

方案一

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

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

添加自定义模块

⒊给网站开启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;

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

注意

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

 

方案二

上述方法安装不成功请继续往下看

1.安装libbrotli

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

2.下载ngx_brotli模块及其依赖:

源码地址,是google开源的一个:https://github.com/google/brotli

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

3.在/www/server/panel/install/nginx.sh  找./configure 后面添加

–add-module=/www/server/ngx_brotli即可,记得之间间隔一个英文空格。

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

截图演示

4.回到xshell或者 宝塔shh终端 使用命令开始编译,根据自己的版本,将后面数字改为1.10、1.12、1.14、1.15、1.17、1.8、openresty等

下面是1.22.1的例子

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

5.安装好了使用nginx -V查看是否含有模块即可。

6.开启Brotli压缩接下来点击面板左侧软件商店-Nginx设置-配置修改,在http段内添加以下内容来启用Brotli压缩。

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;

具体的可以去gayhub上看官方的配置文件;最后点击Nginx设置里的重载配置生效即可。

Brotli参数详解

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

7.全部配置好了,就可以使用谷歌浏览器查看下是否开启成功,看到br字段即为成功。

 

本站已经开启,速度嘎嘎快

最新回复 (0)