要在Windows服务器上启用IIS的Gzip压缩功能,可以通过IIS管理器或配置文件实现,具体步骤如下:

通过IIS管理器启用Gzip压缩功能,打开“服务器管理器”,点击“工具”选择“IIS管理器”,在左侧窗格中展开服务器节点,双击“压缩”模块,在右侧操作窗格中,点击“启用”按钮,分别勾选“为以下内容启用静态内容压缩”和“为以下内容启用动态内容压缩”,静态内容压缩主要针对HTML、CSS、JavaScript等文件,动态内容压缩则针对ASP.NET、PHP等动态生成的页面,建议根据服务器性能需求调整压缩级别,静态内容压缩级别可设置为“最快”(减少CPU占用),动态内容压缩级别可设置为“最佳”(压缩率更高但CPU占用较大)。
配置MIME类型以支持压缩,在IIS管理器中,双击“MIME类型”,点击“添加”按钮,为需要压缩的文件类型添加MIME类型,添加“.js”类型,MIME类型为“application/x-javascript”;添加“.css”类型,MIME类型为“text/css”;添加“.html”类型,MIME类型为“text/html”,常见的MIME类型配置如下表所示:
文件扩展名 | MIME类型 | 是否启用压缩 |
---|---|---|
.html | text/html | 是 |
.htm | text/html | 是 |
.css | text/css | 是 |
.js | application/x-javascript | 是 |
.xml | text/xml | 是 |
.json | application/json | 是 |
压缩,还需配置ASP.NET应用程序的web.config文件,打开网站根目录下的web.config文件,在<system.webServer>
节点下添加以下配置:
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/> <dynamicTypes> <add mimeType="text/*" enabled="true"/> <add mimeType="message/*" enabled="true"/> <add mimeType="application/x-javascript" enabled="true"/> <add mimeType="application/json" enabled="true"/> <add mimeType="*/*" enabled="false"/> </dynamicTypes> </httpCompression> <urlCompression doStaticCompression="true" doDynamicCompression="true"/>
此配置会启用对动态内容的Gzip压缩,并指定临时压缩文件存储路径。

可通过命令行工具(如appcmd)快速启用Gzip压缩,以管理员身份打开命令提示符,运行以下命令:
appcmd set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='text/*',enabled='true']" /commit:apphost
appcmd set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/x-javascript',enabled='true']" /commit:apphost
appcmd set config -section:system.webServer/urlCompression /doDynamicCompression:"True" /doStaticCompression:"True" /commit:apphost
执行后需重启IIS服务使配置生效,可通过命令iisreset /restart
完成。
启用Gzip压缩后,需验证功能是否正常,使用浏览器开发者工具(F12)的“网络”选项卡,刷新页面后检查响应头是否包含Content-Encoding: gzip
,也可通过在线工具(如https://tool.chinaz.com/gzip/)输入网站URL检测压缩状态。
注意事项:压缩功能会增加CPU使用率,若服务器配置较低,可仅启用静态内容压缩;对于已配置CDN的网站,建议在CDN节点上也启用Gzip压缩,确保客户端获取压缩后的内容。

相关问答FAQs
-
问:启用Gzip压缩后,为什么部分文件仍未被压缩?
答:可能原因包括:未在MIME类型中添加对应文件扩展名;文件类型被排除在压缩范围外(如图片、视频等已压缩文件无需再压缩);IIS应用程序池未重启,需检查MIME类型配置,确认文件扩展名已添加,并重启IIS服务。 -
问:如何调整Gzip压缩的CPU占用率?
答:在IIS管理器中,双击“压缩”,在“动态内容压缩”或“静态内容压缩”设置中,调整“压缩级别”选项,级别从1到9,1为最快(CPU占用低,压缩率低),9为最慢(CPU占用高,压缩率高),建议动态内容使用6-7级,静态内容使用1-3级,平衡性能与压缩效果。