00:00
啊,那么好,同学们接下来带大家来配置一下这个,呃,这个GU zip这个模块,嗯,我们找到官方这个文档,其实就在后边加上这个额外的加上一个模块就可以了,但是我们还得重新再编一下这个NG是吧?然后进到N的主目录里,然后点confi confi刚刚。在UNG的里。然后我们把这个命令给它加上。它的内部模块啊,就已经自带的就例就可以了,然后外置的模块你是I module啊。With,滚Z,然后把刚刚这个,呃,我们这static这个也给它加上。粘贴。然后去看,然后去编译。编译完之后呢,记得make。
01:04
注意不要make install啊。因为你没给他就把那个配置文件什么的全都给你重新覆盖了啊。那OK make完之后呢,我们把这个文件给它抠过去,那还是老规矩啊,先把原来的给挪走。Local ns sb下的N。备份一下相当于哈。这是个习惯啊,一定要养成,别到时候万一要出点什么问题,然后然后想想恢复又恢复不了。然后我们把这个给它扣过去,CP我们这个。OBS下的N。到user n s SP。直接给它扣过去,然后呢,重启一下in system ctlar。
02:06
N哎,这样呢,我们就安装好了,安装好之后呢,我们去试试一试啊,它好使不好使。这个他的命令啊,嗯,我们看看啊。啊,一共有两个,一个是这个buffer,一个是这个开关,这开关不用说啊,这个buffer呢,还是内存的啊,内存的话这就是呃,针对于我们32位和64位的区别啊,这是内存大,内存块大小,这多少个块可以供我们的这个。呃,解压缩使用啊,它的主要意义就是在于把我们磁盘上这些文件帮我们解开,并且传给我们的,传给我们这个客户端。嗯,那么接下来呢,我们去配置一下这个GU zip啊。把这个配置呢,我们给它扣过来。然后扔到我们这配置文件里。
03:00
嗯,现在是off对吧,然后我们把它改成on。然后CTRLS我们保存一下,那接下来啊,我们现在是没有重启的状态,我们看一下现在我们这个站点。19244.101。啊,这个40403啊,这个不慌,然后index偏名。这会儿是能够显示的,对吧,为什么呢?大家看这注意看啊这个。这个这个嗯。WiFi这个图标,然后在这呢,呃,Content,我们把这个g zip呢给它给去掉,现在是不支持,就是客户端的不支持g zip,在它支持g zip的时候,你看。它会发送一个请这个header header头里边呢,会包含这个,嗯。Acceptco表示我能接受啊,你这个你吃完饭,然后可以去再唱个歌,然后再去捏个脚,对吧,它表示的接受,那么把这个勾去之后呢,就表示的不接受了,就是刚开始的时候,我们刚开始在向服务器发请求的时候呢,就表示我不支持你这你这么做不支持GZ,然后你看再刷新一下。
04:05
他404了对吧,然后点开这会儿不慌啊,这是很正常,因为request header里边呢,他没写这个acceptco对吧,那返回的这个结果里边呢,他也没找着这个具体的文件,因为你因为你不支持g zip嘛,对吧?啊,然后我们现在的。配置呢,我们把这个滚zip给它给配置上啊。配上上之后呢,我们重启一下你看。中线,然后再刷新一下,注意看啊,现在它是不支持PZP的。再刷新,诶还没有对吧,啊这会儿呢,就应该慌了,他为啥还没有呢,因为我们刚才已经配好了这个滚字了,对吧。它主要的原因是在这儿,因为它下边这有一个j zip static on,它是on的状态,On的状态就表示我去先给你找这个zip文件,如果没找着的话呢,我去给你找这个原文件,对吧?啊,并不是说我一我就必须得发送给你这个这个压缩文件。
05:05
那如果要是这样的话啊,嗯,你你这客户端又不支持GZ,那他直接给你报404了,那这会我们可以把它给改成off,不是off啊是always。就必须给你发送这个压缩包,那么这个呃,GU zip它才会生效啊,就是必须给你发送压缩包的时候呢,你又不支持这个解压缩,那么这个GUZ呢,在这个过程当中呢,拦截到了你这个请求,你不支持这个解压缩,那么我帮你解开对吧,那这样。配置always,再配合这个GU。Zip on,然后这会儿呢,我们再去这个,呃,实验一下。来再试一下啊。走诶看见了吧,这会儿就展示,这会儿它就出来了,屌不屌,所以完全不需要慌,呃,这两个是配合使用的啊,那么在这儿呢,我们仔细看一下,这这个这是不支持的对不对,然后他在返回结果的时候,我们看response。
06:05
他怎么给我们犯的?这response的时候呢,我们返回的这里边儿有GZ相关的吗?没有吧,这content type它就只是一个text HTML了,跟我们访问一个正常的HTML没有任何区别,对吧,它不是这个包了。但是还有一个问题就是他没有contents,你注意到了吗?他不知道这个文件究竟有多大,他采用的是tri k这种方式给我们传过来的啊,因为他需要帮我们去解压缩啊,你在请求的时候呢,我不知道你你这个内容究竟有多大,就跟这反应单里其实是一个道理吧,它本质上并没有在磁盘上存在这个文件,对吧,这只是说帮我们去适配一下,你不支持这个JZ的客户端的,我也可以让你去把这个页面给展示出来,是我帮你解压缩的服务机端帮你解压缩的。啊,是这么个意思啊,那这就是这个,呃。G zip的基本的配置和内容啊,在这儿呢,呃,建议大家啊,在服极端去开启这个g zip啊,如果要是有一些特定的场景啊,那什么时候比如说啊,什么时候用这个static这这种这个J呢。
07:14
什么时候比较适合啊,比如说它你的NG个作为CDN服务器的这个上游服务器,或者直接作为CDN服务器里边的,呃,这个数据存储服务器的时候,那我就可以把本地里边的这些这个原始的文件我全都给它删了,就只给你展示这个这包,然后把这个解压缩这个嗯,压力呢,丢弃给这个客户端,那同时我把可以把它压缩等级啊,当然不是在这儿配的GZ的压缩等级啊,而是我在压缩我本地文件的时候,大家记得吧,我们在这压缩文件的时候,呃,用的这个。这个zip这个命令可以把它的压缩等级提高对吧?啊,然后这个呃,解压缩呢,交给客户端啊,这种情况下呢,我们可以用static这种方式啊,然后还有就是经常高频极为高频被访问到的一些页面,或者是一些CSSJS这些文件,那我们也可以通过这个static这种方式呢,去呃帮他去压缩它是给他总结一下,它是这个原有的JZ的一种补充或者是扩展。
08:20
那么还有一个问题就是图片,你像图片或者音视频这种格式。它适不适合用这个JZ去压缩,不管是用static也好,还是用这个,呃,这个动态这种j zip压缩,大家可以考虑一下。很明显啊,这种它也是不适合用这j j zip压缩的。你你比如说视频啊,我们现在所看到的视频呢,基本上都是经历过一层压缩的最多的这种格式呢,就是HR64这种格式,它是把原视频已经压缩过一遍的。那你在针对于已经压缩过的再去压缩。基本上起不到任何效果的,或者效果极低啊,那如果要是想要达到一定的效果的话,那么你所需要的这个压缩比就会比较高,那所压缩的过程和解压的过程也都比较慢啊,视频是肯定是已经被经历过压缩的,那另外一个呢,就是这个,呃,图片,这个图片也好,还有MP3MP mp3这种音频格式也好,它也都是经历过压缩的。
09:25
啊,图片你看你看的这个GIFJPGPNG,这都是已经被压缩过的这种格式,你再次压缩的话,嗯,能得到的这个这个这个压缩比不会太高啊啊所以不建议大家对这个呃,这种二进制文件,你音视频这些呃,去做这个GC的压缩,它比较适合用,适合压缩就是一些HTML文件。那比如说我们再去构建一些呃,高性能高并发的站点的时候,比如京东淘宝这种站点呢,它的呃页面的被访问的频次就会比较高,比如说我们现在呢,已经掌握了很多知识了,对吧,我们打开京东点com。
10:08
然后我们看他这个首页。诶,等会啊,把这个小工具给关了,怎么直接给我导到HK去了。再再再再再重新刷新一下啊,我们看看。怎么还是H?重新输入一下这个域名啊。走。然后我们找到它的这个首页是吧。嗯。在这首页你你访问的时候,你你看一下啊,这你你别还是这个不支持GZ啊,你如果你要试的时候,你把它换成这个use,呃,Default你看这是首页大家看。呃,这是不是有这个,呃,Contain Co z对吧?并且有content问词,这能说明什么问题?同学们猜猜。是不是已经开启了GZ,它还有contents,这说明啥?
11:03
是不是说明他用的就是static这种方式,在这个本地磁盘上拿这个这个压缩包给我反馈回来的。对不对。那如果说呃,京东这么干了,那我是不是也可以这么干,或者我们再去构建一些高并发站点的时候,也可以把我们的这个。呃,一些内容通过JZ压缩,而且是预压缩,然后不保留原文件,我直接让你这个,呃,这个这个浏览器接收我这个zip包,对吧,一是传输的这个速度快。二呢,就是节省这个服务器端的资源,它不再需要在你每次请求的时候重新给你压缩这个,这个重新给压缩一次了。对吧,啊,这是京东,当然你看其他的也是,你看这个图片,随便点开个图片,你看这有这个压缩的信息吗。有必要压缩吗?没有必要嘛,对吧。然后你再看这个JS相关的,这些都是文本类型的了吧,对吧,这是不是有压缩相关的,并且要看它的Les,看明白了吧?啊,这就是我们刚才干的一件事。
12:09
就是把我们目录下这个user local。N这个HTML这个目录下的所有的原来的文件呢,我们全都给它给搞成了这个压缩包的形式了,对吧。啊,那最后呢,这个同学可能说啊,我靠,你文件全没了,这咋整,我还得挨着盘去解压缩,解压缩是这个命啊滚。这。Z,然后你可以挨着牌解压缩,也可以杠R,你压缩的时候不是杠R了吗?你这会儿呢也可以杠R,然后直接加一个当前目录,然后再你再看哎,是不是又全都回来了是吧?Index签名什么的对吧,那这就是我们的这个。哦。JZ啊,注意需要理解的就是嗯,Send file和它之间的关系,我不能因为加了j zip之后呢,然后这send file无效了,那为了避免失效,所以我可以把它加上这个静态化的处理方式。
13:11
一定要理解啊,当然你可能现在用不上,但如果有一天你呃掌控的项目你有了这个话语权啊,这会儿呢,你就可以去呃去去去搞一搞这种这个压缩和这个这这这这些压缩这些这个这些操作了,但一般来说一些公司呃这这个权限呢,都掌握在架构师或者他的技术经理的。手里对吧,嗯。好,这是GZ压缩。
我来说两句