设为首页 收藏本站
查看: 829|回复: 0

[经验分享] 启用IIS的Gzip压缩功能

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-13 14:07:07 | 显示全部楼层 |阅读模式
  启用IIS的Gzip压缩功能
     启用IIS的Gzip压缩功能现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。二此功能在IIS6.0得到了集成,但是并没有提供一个很好的接口来操作。

     <1>首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它&#8220;IUSR_机器名&#8221;这个用户的写权限。如果压缩动态文件(PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。然后在IIS管理器中,&#8220;网站&#8221;上面右键-属性,不是下面的某个站点,而是整个网站。进入&#8220;服务&#8221;标签,选上启用动态内容压缩,静态内容压缩。
     <2>然后选中网站下面那个服务器扩展,新建一个服务器扩展。名字无所谓,下面的添加文件的路径是:
     c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。
     这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件了。在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。
      然后需要重启一下IIS服务,就可以体会到压缩后的速度了。不过通常可能不会有太明显的感觉,可以用http://www.port80software.com/tools/compresscheck.asp这个页面来检查你的网页是否压缩过了,以及压缩比和加快的速度。整个过程对CPU的占用基本上感觉不出来。

IIS6开启步骤:
     1.添加Gzip的Web服务扩展并设置为有效,gzip的DLL在(%windir%/system32/inetsrv/gzip.dll)
     2.IIS 管理器 > 网站 > 属性 > 服务选项卡 > HTTP压缩,根据需要设置,我把两个都勾上,对动态文件也压缩。
     3.此时重启IIS,压缩就生效了。但是默认设置压缩的文件格式太少,可以进一步设置。
     4.修改 MetaBase.xml,建议先备份。
        找到 Location ="/LM/W3SVC/Filters/Compression/gzip"
        HcDynamicCompressionLevel ,设置压缩率,取值0~10,0不压缩,10最高压缩率
        HcFileExtensions,需要压缩的静态文件扩展名,默认只有htm,html,txt,可以把js,css添加进去。建议按原来的格式,用换行作为分隔
        HcScriptFileExtensions,需要压缩的动态文件扩展名
        在这下面有 Location ="/LM/W3SVC/Filters/Compression/Parameters"
        一个有用的设置是HcMinFileSizeForComp,小于该大小的文件不压缩。
     5.iisreset -stop 停止IIS,保存MetaBase.xml
     6.iisreset -start 启动IIS

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98543-1-1.html 上篇帖子: WCF部署:让IIS有权限访问证书文件 下篇帖子: c# 解决IIS写Excel的权限问题 .
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表