利用huffman编码对文本文件进行压缩与解压_宝塔面板LNMP开启Brotli压缩,可提高网站加载速度...

news/2024/5/17 10:15:50/文章来源:https://blog.csdn.net/weixin_39593718/article/details/111366182

说明:Brotli是Google推出的开源压缩算法,通过变种的LZ77算法、Huffman编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压缩效率,性能也比我们目前常见的Gzip高17-25%,可以帮我们更高效的压缩网页中的各类文件大小及脚本,从而提高加载速度,提升网页浏览体验。博主目前也给开启了Brotli压缩,体验还行吧,这里就说下宝塔面板的开启方法。

安装

1、下载Brotli

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

2、编译Nginx

先查看目前的Nginx版本信息,使用命令:

nginx -V

大概会输出以下信息:

[root@rats ~]# nginx -Vnginx version: nginx/1.15.10built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.1.1b 26 Feb 2019TLS SNI support enabledconfigure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl ... --with-ld-opt=-ljemalloc

nginx版本为1.15.10,configure arguments:后面的为你nginx的编译参数,下面会用到。

然后重新下载nginx,并开始编译,使用命令:

#下载nginx,这里下载的1.15.10版本,如果是其它版本,把下载链接的1.15.10改成你的版本号即可wget http://nginx.org/download/nginx-1.15.10.tar.gz#解压并删除压缩包tar -xvzf nginx-*.tar.gz && rm -rf nginx-*.tar.gz#进入nginx目录cd nginx*#生成Makefile,./configure后面的参数直接复制上面看到的,然后在后面额外加一个--add-module=/www/server/ngx_brotli./configure --user=www --group=www --prefix=/www/server/nginx ... --add-module=/www/server/ngx_brotli#编译nginxmake && make install

不出意外的话,就编译完成了,然后继续使用命令查看信息:

nginx -V

返回参数后面多了个--add-module=/www/server/ngx_brotli就编译成功了。

0b442462577647754e53723bb2c910a7.png

3、开启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;

最后点击Nginx设置里的重载配置生效即可。

Brotli全部参数详解:

brotli on; #启用brotli_comp_level 6; #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPUbrotli_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、alwaysbrotli_window 512k; #窗口值,默认值为512k

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

800054f435824946454a5e0475394564.png

最后博主感觉压缩效果还行,有兴趣的可以开一下,对于其它的安装环境,安装方法都差不多,这里默认是Brotli和Gzip共存,并且都启用了,好处就是部分老旧的浏览器不支持Brotli的时候会自动变成Gzip压缩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_818098.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js修改json文件_静态网站生成器之React框架Gatsby (三)连接json数据源

前面一篇,我们讲到了替换首页的模板,用antd的首页模板页面。这一篇,我们将使用gatsby的数据源功能,把首页的一些数据从模板页面的js中剥离出来。这里我们将使用json文件作为gatsby的数据源,所以我们首先需要安装依赖的…

小虾视频网站广告屏蔽器 V 5.0

本软件用于屏蔽一些视频网站的广告,也具备屏蔽一些恶意网站的作用!如过你发现在电脑正常的情况下有些网友打开开,那是因为屏蔽的原因,只要单击一键还原广告就OK了!~打开软件后不要老是点击不然容易出错!要是…

当前网站设计风格的发展趋势!

这篇文章翻译至:[url]http://www.webdesignfromscratch.com/current-style.cfm[/url]它总结了一些当前网站设计风格的发展趋势。但是我得先提一句,它说的都是西方网站,未必适合我们中国网站的情况和中国网民的审美观。如果能给你一点点参考和…

网站地图(sitemap)在线生成

网站地图在线生成其实也就是sitemap在线生成,在线生成网站地图(sitemap)的方式其实就两种: 一是、网站后台有sitemap网站地图生成功能; 二是、三方工具从一个入口地址,实现全站地址抓取分析。 如果是网站…

在线地图制作网站

网站地图Sitemap的好处是很多的,对SEO而言,网站地图起到的作用是快速提交链接,加速收录。当网站的层级关系很深的时候,没有网站地图,完全靠搜索引擎比如百度自己去抓取链接,速度是很慢的。所以需要主动让百…

百度、熊掌号、移动专区网站主动推送,网页实时监控解决方案

在网站制作完成之后,很多站长都会使用百度站长工具进行网站内容的自动推送,该功能对网站优化,快照更新以及文章收录都有非常好的提升效果,同时通过实现最新熊账号文章的主动推送也能实现原创文章的保护,那么如何实现百…

网页内容监控 - 怎么才能做到网站内容实时推送百度?

运用业界领先的爬虫技术,判断页面内容是否有新内容产出,并过滤非站内内容,然后将内容链接推送至百度各个数据推送接口(如熊掌号、移动专区等)。 网页内容监控是什么? 网页内容监控是指对网站的指定页面进行定时扫描&…

java https 导入证书_如何把Https网站中的安全证书导入到java中的cacerts证书库

展开全部在项目开发中,有时会遇到62616964757a686964616fe4b893e5b19e31333337613832SSL证书导入,把SSL证书导入java中的cacerts证书库其实很简单,方法如下:第一步:找到安装了SSL证书的网站,点击HTTPS加密协议下载SSL证…

java linux u盘_创建启动U盘或移动硬盘 - 基于Fedora 14搭建高效稳定的Java开发环境_Linux教程_Linux公社-Linux系统门户网站...

创建启动U盘或移动硬盘在这里我们选择Fedora 14 x64为例,其它版本安装过程大同小异。因光驱逐渐淘汰,这里我们选择以U盘或移动硬盘作为安装方式(如果选择光驱方式安装,可以跳过此节,直接将下载的文件刻盘后进入本系列的第三节)&am…

安卓ios混合开发技术_app分析有多少种?app开发技术分析的4种方法 | 免费SEO诊断咨询...

app开发多少钱?开发一个app需要哪些流程?现在市场上的app开发方式,可以分为4种:原生app开发、Web app开发、混合app开发以及免编程app开发。不同app方式的开发流程,开发出来的app功能开发周期及成本不同,大…

discuz修改用户uid_[建站教程]Discuz数据库迁移的详细步骤

在网站发展到一定的阶段后,原先的数据库可能已经跟不上容量和速度的要求。这时,我们就要把数据库切换到其他的高性能库上了。那么如何实现网站数据的迁移呢?大概分为三步:(1)把原数据库中的数据倒出来。&am…

百度排名批量查询_企业网站核心关键词排名消失,什么原因?

自从建立了SEO你问问答的圈子,在很长时间里,我们接触到最多的问题就是为什么我的品牌词排名丢失,我的品牌词怎么搜索不到等相关问题。长沙网站设计|长沙网站制作|长沙app开发公司|长沙做网站|长沙公众号开发公司|长沙网页设计公司|享趣网络​…

兄弟连java网站_IT兄弟连 Java Web教程 URI、URL

原标题:IT兄弟连 Java Web教程 URI、URLURI介绍URI(Uniform Resource Identifier),是统一资源标识符的缩写,是一个用于标识某一个Web资源名称的字符串,该标识允许用户对任何资源通过特定的协议进行交互。Web上可用的每种资源&…

计算机原理WR是什么,8086的引线-微计算机原理-电子发烧友网站

2.5 8086的引线本节概述概念1:有40个引脚,其中地址线有20根,16根分时复用的数据线,还有控制线,如图2-8所示。某些引脚上的信号,在不同时刻具有不同的意义。例如,AD15~AD0,在某些时候…

为什么我php总聘不上,我的phpweb建站经验:[7]招聘、反馈设置

下面我们看看招聘和反馈模块的设置,由于招聘和反馈模块都涉及到表单的设置,所以这一篇将同时做介绍,以免重复。点击招聘模块,我们可以看到左侧的导航栏目,点选职位发布,即可根据表单提交需要招聘的职位内容…

wordpress 最强免插件纯代码sitemap.xml网站地图制作

wordpress 建站我一直是拒绝插件的。 最近想弄个sitemap.xml网站地图文件,不用插件的方法网上有很多相关的代码,但其实好多并不好用。 有的可能是没有全站网站地图,而有的.xml后缀名需要伪静态设置,特别麻烦。 于是,空…

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时&…

html5用语义元素做旅游网站,HTML5: HTML5 语义元素

HTML5 语义元素语义 意义语义元素 有意义的元素什么是语义元素?一个语义元素能够清楚的描述其意义给浏览器和开发者。无语义 元素实例: 和 - 无需考虑内容.语义元素实例: , 浏览器支持Internet Explorer 9, Firefox, Chrome, Safari 和 Opera 支持语义元素。注意: Internet E…

超人气网站集合,快来pick你中意的吧!

网站相对于软件来说,它不用安装就能使用,而且是随时随的就可以打开。那么接下来,就为各位分享几个我觉得很“奶思”的网站,快来pick你中意的吧!http://www.atool88.com/域名查询、链接查询,所有关于互联网方…

怎么在安卓布局里设置滚动字体_八戒网络丨浅谈网站制作页面板块布局与技巧...

建设一个优质的网站,需要关注的地方有很多。想要制作出精致的网站,还应该多关注网站的版块分布,在布局上多下功夫,让访问者能够轻松舒适的浏览,那网站制作如何布局页面板块?有何技巧?对于响应式网站来说,…