服务器开启Gzip压缩功能

服务器开启Gzip压缩功能,第1张

在负载均衡中有一个必须要做的事情就是给服务器开启Gzip压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。

Gzip是若干文件压缩程序的简称,通常指GNU计划的实现,此处的Gzip代表的就是GUN ZIP,这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。

接下来,将介绍Apache、Nginx 如何开启Gzip压缩。

Apache开启Gzip要看查看是否已经开启mod_deflate模块,如果没有则需要先加载,在配置文件httpd.conf中将

前面的#号去掉。另外,如果对Apache的配置文件不太懂的客户在修改配置文件之前对配置文件进行备份。

开启模块后,在httpd.conf配置文件的最下面空白处添加一下内容:

其中DeflateCompressionLevel 的意思是压缩等级,共分为1-9,9级为最高,不建议使用太高的压缩比,这样会对CPU产生太大的负担。

打开配置文件 nginx.conf找到Gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。

下面是一个相对优化不错的配置。

gzip on    开启gzip  off关闭

gzip_min_length 1k    设置允许压缩的页面最小字节(从header头的Content-Length中获取) 建议大于1k

gzip_buffers 4 16k    以16k为单位,按照原始数据大小以16k为单位的4倍申请内存

gzip_http_version 1.1    识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码

gzip_comp_level 2    等级1-9 最小的压缩最快 但是消耗cpu

gzip_types text/plain application/x-javascript text/css application/xml    匹配压缩类型

gzip_vary on    启用应答头"Vary: Accept-Encoding"

gzip_proxied off

nginx做为反向代理时启用,off(关闭所有代理结果的数据的压缩),expired(启用压缩,如果header头中包括"Expires"头信息),no-cache(启用压缩,header头中包含"Cache-Control:no-cache"),no-store(启用压缩,header头中包含"Cache-Control:no-store"),private(启用压缩,header头中包含"Cache-Control:private"),no_last_modefied(启用压缩,header头中不包含"Last-Modified"),no_etag(启用压缩,如果header头中不包含"Etag"头信息),auth(启用压缩,如果header头中包含"Authorization"头信息)

gzip_disable msie6

(IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩 )指定哪些不需要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库

gzip     决定是否开启gzip模块

gzip_buffers      设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间,param2:int(k) 后面单位是k

gzip_comp_level     设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大

gzip_min_length     当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩

gzip_types     设置需要压缩的MIME类型,非设置值不进行压缩    

param:text/html|application/x-javascript|text/css|application/xml

对于多数以文本为主的站点来说,文本自身内容占流量的绝大部分。虽然单个文本体积并不算大,但是如果数量众多的话,流量还是相当可观。启用GZIP以后,可以大幅度减少所需的流量。

第一步,打开Internet信息服务(IIS)管理器,右击“网站”-》“属性”,进入“服务”选项,之后在“HTTP压缩”的大框中把“压缩应用程序文件”和“压缩静态文件”两个都选上,而“临时目录”和“临时目录的最大限制”直接使用默认值即可。

第 二步,还是在Internet信息服务(IIS)管理器中,右击“Web服务扩展”选项,选择“增加一个新的Web服务扩展”,在“新建Web服务扩展” 框内输入扩展名为“HTTP Compression”,“要求的文件”添加路径为C:\WINDOWS\system32\inetsrv\gzip.dll,一般来说绝大多数 Windows2003服务器都应该是这个路径,如果有很特别的,就请根据自己的情况来选择gzip.dll的位置吧,记得把“设置扩展状态为允许”也勾 选上,然后点击确定。

第 三步,来到关键的一步了。先将IIS6.0服务器停止,请在“运行”中输入“cmd”,进入命令行,然后输入“net stop iisadmin”来停止IIS服务,再备份一下C:\Windows\System32\inetsrv\MetaBase.xml这个文件(在修改服 务器任何一个配置文件之前都应该备份,这是个人站长必备素质),之后用记事本打开该文件,进行相关设置的更改。

需 要更改的有两个地方,一个是Location ="/LM/W3SVC/Filters/Compression/deflate"的地方,另一个则是Location ="/LM/W3SVC/Filters/Compression/gzip",将这两个地方修改后就可以打开GZIP了。两个地方的内容更改完全一致, 所以只说一遍就可以了。

将HcDoDynamicCompression设置为“TRUE”,这个是用来压缩动态文件的,当然如果你不打算压缩动态文件,保持“FALSE”状态也可以,而HcscriptFileExtensions中是需要压缩的动态文件后缀,如asp、php、aspx等。

将HcDoStaticCompression和HcDoOnDemandCompression设置为“TRUE”,这是用来开启压缩静态文件的,没有理由不开启。在HcFileExtensions中添加需要压缩的静态文件后缀,如html、css、xml等。

HcDynamicCompressionLevel 和HcOnDemandCompLevel这两个属性,表示的是GZIP的压缩率,可以填写0-10之间的数字,默认为0,通常来说建议设置为9,这是最 具有性价比的选择。(图片中把php加到静态文件里面了,大家就无视吧,这是很久以前配置的,反正网站是静态的,php压缩不压缩无所谓)。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/192690.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-31
下一篇2023-03-31

发表评论

登录后才能评论

评论列表(0条)

    保存