IIS启用GZip压缩JS/CSS等静态文件方法

作者:hack1990 时间:11-09-22 阅读数:670人阅读

IIS启用Gzip默认只压缩后缀是htm与html的文件,而且对经常用到的js、css无效。
  以前没有注意这个问题,在通过在线工具 gtmetrix.com 检测 www.taiwnadao.tw 时才发现js、css并没用被压缩。
  那么如何才能让GZip压缩JS/css呢?这需要做进一步的设置。
  1、在Web服务扩展项右键,选择”添加一个新的Web服务扩展”,添加文件,C:\WINDOWS\system32\inetsrv\gzip.dll 选中设置扩展状态为允许。
  2、用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),
  找到Location =”/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
  找到Location =”/LM/W3SVC/Filters/Compression/deflate”用于设置deflate压缩。
  更改后的设置如下:
  <IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/deflate”
  HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
  HcCreateFlags=”0″
  HcDoDynamicCompression=”TRUE”
  HcDoOnDemandCompression=”TRUE”
  HcDoStaticCompression=”true”
  HcDynamicCompressionLevel=”9″
  HcFileExtensions=”htm
  html
  txt
  js
  css
  swf
  xml”
  HcOnDemandCompLevel=”9″
  HcPriority=”1″
  HcScriptFileExtensions=”ASP
  ASPx
  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=”9″
  HcFileExtensions=”htm
  html
  txt
  js
  css
  swf
  xml”
  HcOnDemandCompLevel=”9″
  HcPriority=”1″
  HcScriptFileExtensions=”ASP
  ASPx
  dll
  exe”
  >
  </IIsCompressionScheme>
  3、保存文件时,会提示你,当前文件正在使用,不能修改。
  4、打开windows服务,找到”IIS Admin Service”,停止服务,会提示有两个服务依赖于该服务,一个是Http ssl,一个是World Wide Web Publishing Service,别怕,把这两个服务一起停止。
  5、保存修改的文件,这里应该能顺利保存。
  6、将刚才停止的三个服务Http ssl、World Wide Web Publishing Service、IIS Admin Service分别启动起来。
  7、重新启动IIS。
  IIS启用Gzip默认只压缩后缀是htm与html的文件,而且对经常用到的js、css无效。
  以前没有注意这个问题,在通过在线工具 gtmetrix.com 检测 www.taiwnadao.tw 时才发现js、css并没用被压缩。
  那么如何才能让GZip压缩JS/css呢?这需要做进一步的设置。
  1、在Web服务扩展项右键,选择”添加一个新的Web服务扩展”,添加文件,C:\WINDOWS\system32\inetsrv\gzip.dll 选中设置扩展状态为允许。
  2、用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),
  找到Location =”/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
  找到Location =”/LM/W3SVC/Filters/Compression/deflate”用于设置deflate压缩。
  更改后的设置如下:
  <IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/deflate”
  HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
  HcCreateFlags=”0″
  HcDoDynamicCompression=”TRUE”
  HcDoOnDemandCompression=”TRUE”
  HcDoStaticCompression=”true”
  HcDynamicCompressionLevel=”9″
  HcFileExtensions=”htm
  html
  txt
  js
  css
  swf
  xml”
  HcOnDemandCompLevel=”9″
  HcPriority=”1″
  HcScriptFileExtensions=”ASP
  ASPx
  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=”9″
  HcFileExtensions=”htm
  html
  txt
  js
  css
  swf
  xml”
  HcOnDemandCompLevel=”9″
  HcPriority=”1″
  HcScriptFileExtensions=”ASP
  ASPx
  dll
  exe”
  >
  </IIsCompressionScheme>
  3、保存文件时,会提示你,当前文件正在使用,不能修改。
  4、打开windows服务,找到”IIS Admin Service”,停止服务,会提示有两个服务依赖于该服务,一个是Http ssl,一个是World Wide Web Publishing Service,别怕,把这两个服务一起停止。5、保存修改的文件,这里应该能顺利保存。
  6、将刚才停止的三个服务Http ssl、World Wide Web Publishing Service、IIS Admin Service分别启动起来。
  7、重新启动IIS

发表评论