ⅡS启用gzip

来源:互联网 发布:matlab 编程实践 编辑:程序博客网 时间:2024/06/04 18:07
ⅡS启用gzip
现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。
ⅡS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。
在服务器中新建一个文件夹,名称任意,给本机用户添加写入权限。
进入IIS管理器,IIS管理器>网站 右键进入“属性”面板,切换到“服务”选项卡,勾选HTTP压缩中两项,如果仅仅想压缩静态文件,那么第一项就算了。临时目录就是刚才新建的那个文件夹。
确认后进入IIS管理器>Web服务扩展,点击“添加一个新的Web服务扩展”,在弹出的面板中首先输入扩展名,名称任意;然后在“要求的文件”中添加文件,其实就是输入gzip.dll所在的路径。如果不是特立独行的服务器,那么这个位置基本上就是“C:WINDOWSsystem32inetsrvgzip.dll”,确认后记得将“设置扩展状态为允许”勾选。
进入C:WINDOWSsystem32inetsrv这个目录下,找到一个叫MetaBase.xml的文件,直接修改保存是不行的,因为IIS服务正在使用该文件。强烈建议先备份该文件,再在一个副本上修改。用文本编辑器打开副本,用查找功能找到“IIsCompressionScheme”,共有3处,都在一起,分别是deflate、gzip和Parameters,deflate也是一种压缩格式,不过性能上不如gzip。需要修改的是deflate和gzip这两段,参数基本一样,都要修改。
  HcDynamicCompressionLevel是用来设置压缩率,默认是0,最高是10。低压缩级别生成稍大一些的压缩文件,但对 CPU 和内存资源的总体影响较小。高压缩级别通常会生成较小的压缩文件,但会占用较多的 CPU 时间和内存。有人说设置成9性价比最高。
  HcFileExtensions是用来设置压缩的静态文件扩展名,默认是htm、html、txt,根据网站的自身情况添加扩展名,最基本的是js、css。添加时注意原有的换行格式。
  HcScriptFileExtensions是用来设置压缩的动态文件扩展名,默认是asp、dll和exe,根据需要自行添加扩展名,无外乎aspx、php等。可以将这一项的默认删除留空,这样所有的动态响应都以压缩方式发送。另外,还将动态压缩 HcFileExtensions 中所有未指定的静态文件类型,并且因此不将它们放入缓存。同样地,必须将 HcDoDynamicCompression 设置为 true,以进行动态压缩。
把IIS服务停止,用刚才保存的副本替换原有的MetaBase.xml
  重启IIS服务,如果一切正确,那么Gzip就启动了。
可以在这个地址检测Gzip的工作情况。
  置文件在windows目录下的system32/inetsrv/metabase.xml
  找到"/LM/W3SVC/Filters/Compression/deflate"和Location ="/LM/W3SVC/Filters/Compression/gzip"
  两个配置段内均有HcDynamicCompressionLevel="5",请选择你认为合适的数值,这里我设置的是5.
  如果要对动态网页进行压缩,则要修改如下配置项
  HcScriptFileExtensions="asp dll exe"
  将你要压缩的文件的扩展名填进去就可以了。
  特别提示:这种压缩优化流量的方法,对于文本文件比较有效,大约能压缩50%(我一个200k左右的页面包含js和css压缩后118k左右),图片则效果很差。另外压缩比高对于服务器来说也会导致cpu负载过高,所以建议不要设置太高的压缩比。
  修改配置文件时请暂停IIS服务,保存后重新启动服务即可。[1] 
用Nginx的gzip模块提升网站访问效率
Nginx自带的有gzip模块,这个模块支持在线实时压缩输出数据流。经过良好的配置优化,可以大幅的提升网站的输出效率。
效果显而易见。
0 0
原创粉丝点击