启动IIS 6中的Gzip

前段时间学习Steve的名著《高性能网站建设指南》,却一直没有时间去实践其中的压缩组件。今天再次翻看,发现其中只有介绍Apache服务器的内容,要知道并不是所有网站都运行在Apache之中啊,实际上大部分中小网站的服务器环境都还是IIS。

网上搜索了一番,了解了IIS下的Gzip配置,还是比较简单的。

简单来说,IIS6集成了Gzip,只不过需要手动操作而已。写下大概步骤,留作备忘——

1、在服务器中新建一个文件夹,名称任意,给本机用户添加写入权限。

2、进入IIS管理器,IIS管理器>网站 右键进入“属性”面板,切换到“服务”选项卡,勾选HTTP压缩中两项,如果仅仅想压缩静态文件,那么第一项就算了。临时目录就是刚才新建的那个文件夹。

2008-10-15_162909

3、确认后进入IIS管理器>Web服务扩展,点击“添加一个新的Web服务扩展”,在弹出的面板中首先输入扩展名,名称任意;然后在“要求的文件”中添加文件,其实就是输入gzip.dll所在的路径。如果不是特立独行的服务器,那么这个位置基本上就是“C:WINDOWSsystem32inetsrvgzip.dll”,确认后记得将“设置扩展状态为允许”勾选。

2008-10-15_163531

4、进入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,以进行动态压缩。

5、把IIS服务停止,用刚才保存的副本替换原有的MetaBase.xml

6、重启IIS服务,如果一切正确,那么Gzip就启动了。

可以在这个地址检测Gzip的工作情况。

-------------------------------------------结束的分割线-----------------------------------------------

正所谓“聚沙成塔”,使用Gzip节省下的响应数据量将大大提升网站的性能,推荐大家都去试试。

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...