如何启用iis的gzip压缩功能

如何启用iis的gzip压缩功能,第1张

双击Internet信息服务器--服务器名称(本地计算机)--网站右键属性,如图

打开服务标签页--压缩应用程序文件,压缩静态文件两个打上勾,点浏览选择一个目录,建议放到D盘自己新建一个文件夹。接着点击确定,如图

然后我们右键点击web服务扩展,点击添加一个新的web服务扩展,输入扩展名,为了便于我们识别,我们可以起名为gzip(这个是随意的),然后点击添加,选择C:\WINDOWS\system32\inetsrv\gzip.dll,然后点击确定,扩展状态为允许,否则gzip不能生效,一切完成,我们就可以点击确定了.如图

接着我们选择本地服务器,右键属性,勾选允许直接编辑配置数据库,点击确定,如图

接着我们打开C:\WINDOWS\system32\inetsrv这个目录,找到里面的MetaBase.xml先复制一份命名为MetaBasebak.xml,以免修改错误后恢复,我们打开这个文件找到,搜索deflate

找到HcDoStaticCompression原来为false改为true,HcDynamicCompressionLevel原来为0,改为9,HcFileExtensions里面就可以添加我们需要压缩的后缀,这里添加的是静态文件,一般压缩html,js,css图片不列为压缩之列.动态的文件可不可以压缩呢,当然可以HcScriptFileExtensions里面就是填写要压缩的动态文件.配置完这个,我们要来配置下面的gzip,他们两个紧挨着的,配置方法相同.

在这我就贴一份我自己已整理好的部分配置文件给大家

<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

js

css

jpg

gif

png

txt"

HcOnDemandCompLevel="10"

HcPriority="1"

HcScriptFileExtensions="asp

php

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

js

css

jpg

gif

png

txt"

HcOnDemandCompLevel="10"

HcPriority="1"

HcScriptFileExtensions="asp

php

aspx

dll

exe"

>

</IIsCompressionScheme>

大家可以直接复制替换掉里面的部分

如图:

最后我们需要给我们的压缩临时文件夹给一个iis运行账户的所有权限,这样iis服务器才有权限写压缩后的文件,找到我们前面设置的那个文件夹(针对ntfs格式的盘符,不过现在大多数都是ntfs的),右键属性,安全,选择添加我们的iis服务所在的账户,选择所有权限,确定,最后当然是iis服务器右键重启,现在在站长工具gzip测试里看看自己的网站,肯定开启gzip压缩了。

IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。

1、如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件(PHP,asp,aspx,ashx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。

2、在IIS管理器中,“网站”节点上面(不是某个具体的站点,而是整个网站)右键-属性,选择“服务”标签,选上启用动态内容压缩,静态内容压缩。

3、在IIS管理器左侧选中“WEB服务器扩展”,新建一个服务器扩展。名字任意,比如gzip,文件的路径是:c:\windows\system32\inetsrv\gzip.dll,并启用这个扩展。

4、停止 IIS 服务,打开 C:\Windows\System32\inetsrv\MetaBase.xml(不停止IIS服务无法编辑该文件),以关键字“<IIsCompressionScheme”搜索,能搜到3处结果,找到如下这段:

<IIsCompressionSchemeLocation ="/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>

根据需要增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,ashx等;HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。

5、启动IIS服务,就已经成功启用gzip压缩了。

基本步骤可以参考微软官方指导,直接一点的方式通过命令行执行如下命令启用对动态/静态内容的压缩输出: appcmd set config /section:urlCompression /doDynamicCompression:Trueappcmd set config /section:urlCompression /doStaticCompression:True添加一个新的 Web Service Extension (如果原来没有的话) ,输入 gzip.dll 的全路径 。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/37261.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-21
下一篇2023-02-21

发表评论

登录后才能评论

评论列表(0条)

    保存