在昨天服务器还没重装之前,这个服务器已经开启了Gzip,去年配置的时候就很波折,因为配置文件在C盘,所以重装后Gzip就没了。

今天理论上第二次配置Gzip应该很轻松的,但是苦逼的人总能遇到意想不到的问题。

IIS6.0开启Gzip的整个流程

第一步

首先右击“本机计算机”选择“允许直接编辑配置数据库”,这样做的目的是可以直接修改配置文件,或者在服务里停止掉“IIS Admin Service”服务(需谨慎),

iis6.0gzip

第二步

右键“web服务扩展”——“添加一个新的web服务扩展”

iis6.0gzip

第三步

按如图操作

iis6.0gzip

第四步

右键“网站”点击“服务”选项卡,按如图操作,需要注意的临时目录可以随意指定,不过temp目录需要添加“users”用户组写入权限

iis6.0gzip

第五步:修改MetaBase.xml
在C盘依次找到:“ c:\windows\system32\inetsrv”文件夹,找到 MetaBase.xml,先备份一份,再修改。
注:
1、有的服务器不需要修改此文件便可以使用
2、其实MetaBase.xml这个文件在同目录下有个文件夹“history”里面会自动备份该文件。
搜索 “Compression”
 
仔细核对下代码:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="0" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="FALSE" 
HcDynamicCompressionLevel="0" 
HcFileExtensions="htm 
html 
txt" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="asp 
dll 
exe" 
> 
</IIsCompressionScheme> 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="1" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="TRUE" 
HcDynamicCompressionLevel="0" 
HcFileExtensions="htm 
html 
txt" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="asp 
dll 
exe" 
> 
</IIsCompressionScheme>

替换成:

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="1" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="TRUE" 
HcDynamicCompressionLevel="10" 
HcFileExtensions="html 
css 
js 
htm 
xml 
txt" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="php 
dll" 
> 
</IIsCompressionScheme> 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="2" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="TRUE" 
HcDynamicCompressionLevel="10" 
HcFileExtensions="html 
css 
js 
htm 
xml 
txt" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="php 
dll" 
> 
</IIsCompressionScheme>

特别提醒:一定要用txt记事本打开该文件!

注意两种压缩形式Gzip和deflate,上面其实就是将Gzip调整为首选压缩形式,另外加以修改压缩类型与压缩率。

特别需要注意的是:以上代码千万不能复制错误,不是错了会出问题,而是如果修改错了,IIS识别到了之后会自动还原成上一次正确的版本,你会发现自己改的又变回来了。(我在这上面被折腾了很久啊!)

第六步

最后将IIS重启一下即可

iis6.0gzip

修改好了之后可以这里检测Gzip是否成功:http://www.vuln.cn/tools/gzip/

注意事项:

如果以上修改方面没有生效,那么就需要先将IIS服务在管理中先停止掉再修改文件。

iis6.0gzip

这里需要注意的是,在“IIS Admin Service”服务停止后修改文件,如果文件修改有所错误,那么该服务将会启动不起来!这时就需要替换历史备份文件。