今天桂哥网络与你分享的是如何在Nginx中启用Brotli压缩算法。桂哥网络认为它很实用,所以他把它分享给你学习。希望你看完这篇文章能有所收获。话不多说,让我们和桂哥网络一起看看
Brotli是一种新的数据格式,可以提供比Zopfli高20-26%的压缩率。
什么是 Brotli 压缩算法
Brotli最初发布于2015年,用于网络字体的离线压缩。谷歌软件工程师在2015年9月发布了包括通用无损数据压缩在内的Brotli增强版,特别强调HTTP压缩。编码器被部分重写以提高压缩比,编码器和解码器都提高了速度,并且流应用编程接口被改进以提高更多的压缩质量水平。新版本还显示了跨平台性能的提高,并减少了解码所需的内存。
与常见的通用压缩算法不同,Brotli使用预定义的120k字节字典。该词典包含13000多个常用词、短语和其他子串,它们来自于大量的文本和HTML文档语料库。预定义的算法可以提高较小文件的压缩密度。
使用brotli而不是deflate来压缩文本文件通常可以增加20%的压缩密度,而压缩和解压缩速度几乎没有变化。“br”已被提议用于使用Brotli进行流压缩的内容编码类型。
安装
1.下载brotli
gitclonehttps://github.com/google/ngx_brotli
cdngx _ brothereligitsubuleupdate-init 2。编译
add原始编译配置后的add-module=/opt/nginx/ngx _ brot Li
例如
复制代码代码如下:/configure-prefix=/usr/local/nginx-user=www-group=www-with-pcre=/opt/nginx/pcre-8.41-with-http _ SSL _ module-with-zlib=/opt/nginx/zlib-1 . 2 . 11-with-OpenSSL=/opt/nginx/OpenSSL-1 . 0 . 2n-add-module=/opt/nginx/ngx _ brot Li-with-http _ v2 _ module
配置,在http段中添加
http{
includemime.types
default _ type application/octet-stream;
sendfileon
tcp _ nopushon
keepalive _ timeout65
#BrotliCompression
兄弟;
brotli _ comp _ level6
brotli _ typestext/明文/CSS application/JSON application/x-JavaScript text/XML application/XML rstext/JavaScript application/JavaScript image/SVG XML;
.重启,刷新页面,检查标题,发现有
接受-编码: gzip,放气,br如图
这意味着brotli压缩已打开
配置说明
指令介绍
Ngx_brotli定义了以下指令:
Brotli,是不是允许动态压缩响应数据,可选值为on和off,默认值为off。例子如下:
兄弟;Brotli_types,启用动态压缩时,允许MIME类型的压缩,默认值为text/html。例子如下:
brot Li _ typestext/明文/CSS text/XML application/XML application/jsontext/JavaScript application/JavaScript/x-JavaScript;Brotli_static,是不是搜索以。br是允许的。可选值为开、关和始终,默认值为关。例子如下:
brotli _ staticoffBrotli_comp_level,压缩级别,可选值范围为0~11,默认值为6。例子如下:
brotli _ comp _ level11Brotli_buffers,压缩响应数据时使用的缓冲区的数量和大小。例子如下:
brotli _ buffers168kBrotli_window,Brotli使用的窗口值,默认值为512k。例子如下:
brotli _ window512kBrotli_min_length,响应数据的最小长度,低于此长度,将不会使用Brotli算法执行压缩操作。Brotli算法使用内容长度来确定响应数据的长度。例子如下:
brotli _ min _ length20以上是如何在Nginx中启用Brotli压缩算法的。桂哥网络认为,一些知识点可以在我们的日常工作中看到或使用。希望你能通过这篇文章学到更多的知识。更多详情请关注桂哥网络。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP