宝塔面板 Nginx 开启 Brotli 压缩加速网站的访问效率

Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比。据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZMA和bzip2略大。 链接:Google开源Brotli压缩算法 微软使用了一种基于谷歌提供的C代码的实现,向.NET Core 2.1添加了Brotli压缩支持。由于Brotli得到了许多Web浏览器和Web服务器的广泛支持,所以.NET Core提供对这项技术的支持是非常有用的。

什么是 Brotli 压缩算法

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

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

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

上文部分来自“维基百科”,以下内容将带领大家如何在宝塔面板中的nginx环境中部署“Brotli压缩”方法。

1.卸载旧 Nginx

Brotli 其实支持动态加载,这里为了方便直接卸载旧版本重装。

卸载完成以后点击安装,选择编译安装,打开添加自定义模块窗口如下图。

nginx Brotli 安装步骤1
nginx Brotli 安装步骤1

模块名称填写:ngx_brotli

模块简介填写:ngx_brotli

模块参数填写:--add-module=/www/server/nginx/src/ngx_brotli

前置脚本粘贴如下内容:

# 文件内各版本号为文章发布时最新,请按需要检查新版本并替换版本号\\文章来源:https://wordpressworlds.com
wget -O ngx_brotli.zip https://github.com/google/ngx_brotli/archive/v1.0.0rc.zip
unzip ngx_brotli.zip
mv ngx_brotli-1.0.0rc ngx_brotli
cd ngx_brotli/deps
rm -rf brotli
wget -O brotli.zip https://github.com/google/brotli/archive/v1.0.9.zip
unzip brotli.zip
mv brotli-1.0.9 brotli
cd /www/server/nginx/src

完成以后提交并打上勾,点击安装,等待完成即可。

2.设置 Nginx 配置

打开 Nginx 管理器,左侧菜单选择配置修改,在44行附近找到gzip部分,将其全部注加#号注释。

在下方添加brotli的配置信息:

brotli on;
        brotli_comp_level 6;
        brotli_min_length 10;
        brotli_window 1m;
        brotli_types *;
        brotli_static always;

各个参数的具体作用可以在https://github.com/google/ngx_brotli找到,这里提供通用版本。

保存以后如下图:

nginx Brotli 安装步骤2
nginx Brotli 安装步骤2

接下来使用支持brotli的浏览器访问即可看到效果。

人已赞赏
服务器运维教程

什么是DNS域名解析?域名DNS解析的一些专业知识

2021-1-15 18:56:23

服务器运维教程

Nginx使用CDN之后获取真实访客IP的方法

2021-3-2 23:35:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索