搞了很久,不如nginx好弄,不知道怎么修改压缩比,也不知道怎么压缩的规则是啥(管理器上没有写),不过反正出来了,一个js文件900多K变成了100多K

1、在web.config文件里面加上:

<configuration>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
</system.webServer>
</configuration>

2、启用静态压缩

3、修改了一个配置文件(实际上不知道有没有起作用)

C:\Windows\System32\inetsrv\config > applicationHost.config

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="1024">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/javascript" enabled="true" />  <-- 就只加了这一行,然后iisreset
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>

因IIS后期不再使用,不打算深入研究了,能压缩就OK。

PS:好像不稳定,稍隔久一点访问,没有压缩(第一次),强制刷新页面,又都压缩了

解决:

1、web.config修改下:

<configuration>
<system.webServer>

<urlCompression doStaticCompression="true" doDynamicCompression="false" />
<serverRuntime enabled="true" frequentHitThreshold="1" frequentHitTimePeriod="00:10:00"/>  <-- 加了这一行

</system.webServer>
</configuration>

修改了之后,IIS会报500错误,于是 命令行 执行(解锁serverRuntime节点):

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/serverRuntime

然后就OK了,重启下站点,再访问就都是压缩过的了(原先,每次重启站点,第一次访问,都没压缩,隔久了再访问也是没压缩。)

这篇文章的这部分内容帮助了我:我的就是MetaBase.xml没有IIsCompressionScheme节点的情况! 引自:http://www.cnblogs.com/caicainiao/archive/2011/11/09/2243270.html


偶尔失效(一会有效一会无效)的解决方法

3. 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),

找到Location =“/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,

找到Location =”/LM/W3SVC/Filters/Compression/deflate“用于设置deflate压缩。 上面两个节点紧挨着。并且设置的属性相同。

如果需要压缩动态文件,则将HcDoDynamicCompression设置为”TRUE“,

并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;

如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为”TRUE“,

并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;

HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。

HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property

HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property

说明: 这两个属性值一般推荐设置为9, 具有最佳性价比。

<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>

注意

1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin

2. 修改完成后开启iisadmin服务,并执行iisreset命令

关于SEO的测试

压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。

关于对SEO影响的研究文章,还可以参考下面的几篇文章。

具体的效率问题,将继续监控以作研究。

如果以上设置无效,或者MetaBase.xml没有响应节点,用以下方式解决

第一种是在web.config中添加以下内容,将frequentHitThreshold调至1,将frequentHitTimePeriod调制10分钟

<system.webServer>

<serverRuntime enabled="true" frequentHitThreshold="1" frequentHitTimePeriod="00:10:00"/>

</system.webServer>

第二种方法是打开%windir%\system32\inetsrv\appcmd.exe,然后再命令行界面中输入以下命令字符串,然后回车

set config -section:system.webServer/serverRuntime -frequentHitThreshold:1

如果 appcmd.exe 窗口执行无法停留,可以执行连续指令:

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/serverRuntime -frequentHitThreshold:1

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/serverRuntime -frequentHitTimePeriod: 00:10:00

转载于:https://www.cnblogs.com/Denny_Yang/p/7211182.html

IIS 7 启用 gzip 静态压缩 压缩js和css文件相关推荐

  1. php gizp压缩传输js和css文件 - PHP

    实例: <?php/*** 完整调用示例:* 1.combine.php?t=j&b=public&fs=jslib.jquery,function* * 该例子调用的是< ...

  2. RequireJs按需要加载angular模块和依赖,并且用r.js压缩打包js和css文件实现加载优化(图文)。

    RequireJS 是一个JavaScript模块加载器,使用RequireJS加载模块化脚本将提高代码的加载速度和质量.而且能保证其他依赖angular插件前提下才能使用的组件比如像自定义的指令和路 ...

  3. Asp.net中Js、Css文件压缩辅助类

    类名:WebCompressUtility.cs 代码如下: /// <summary> /// Js.Css文件压缩辅助类 /// Stone_W /// 2011.6.21 /// & ...

  4. maven js css 压缩,使用wro4j和maven在编译期间压缩js和css文件(经典)

    最近在对一个web系统做性能优化. 而对用到的静态资源文件的压缩整合则是前端性能优化中很重要的一环. 好处不仅在于能够减小请求的文件体积,而且能够减少浏览器的http请求数. 因为是基于java的we ...

  5. 使用wro4j和maven在编译期间压缩js和css文件

    最近在对一个web系统做性能优化. 而对用到的静态资源文件的压缩整合则是前端性能优化中很重要的一环. 好处不仅在于能够减小请求的文件体积,而且能够减少浏览器的http请求数. 因为是基于java的we ...

  6. Visual Studio 编译任务压缩js和css文件

    如今网站都在说优化,压缩js和css文件就成了最基本的一种方法,js和css压缩有很多方法,很多网站也提供了这样的功能,也可以用YUI提供的包手动压缩,但是这都不效率啊,能不能在vs生成部署包的时候把 ...

  7. php 压缩js css文件,PHP实现动态压缩js与css文件的方法

    本文实例讲述了PHP实现动态压缩js与css文件的方法.分享给大家供大家参考,具体如下: 正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求.防止轻易查看源代码. 使用 只需要 ...

  8. php 压缩html css,PHP实现动态压缩js与css文件的方法

    这篇文章主要介绍了关于PHP实现动态压缩js与css文件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 本文实例讲述了PHP实现动态压缩js与css文件的方法.分享给大家供大家参 ...

  9. JAVA压缩JS或CSS文件

    平时开发过程中使用的js或css文件基本都是未经压缩的方便调试,在真正上线后一般都会使用压缩后的文件,我们可以使用一些工具进行压缩,我们也可以通过JAVA代码自己实现文件的压缩,今天为大家介绍的是使用 ...

最新文章

  1. 【linux】关于分析系统问题的前几分钟
  2. Python操作excel文件创建workbook和批量创建Sheet
  3. MySQL 常见的sql命令
  4. string转换成enum
  5. openjdk17体验
  6. python中分支结构包括哪些_python中的分支结构
  7. openssl ssl_write 写错误
  8. android 数据回传代码,安卓向.net core api传输图片,执行保存到数据库命令后返回400错误代码,用postman测试没有问题安卓程序不行...
  9. Linux IPC实践(7) --Posix消息队列
  10. kaldi 语音识别
  11. phpstorm 常用快捷键及自定义快捷键
  12. element的表格中scope中的东西
  13. Android测试总结
  14. UE4 C++与UMG
  15. 本地搭建wooyun图片无法加载问题解决
  16. 疯狂创客圈 JAVA 高并发 总目录
  17. MySQL数据库学习笔记3
  18. 哈希(哈希表与哈希函数)
  19. 实践干货!猿题库 iOS 客户端架构设计
  20. 不格式化移动硬盘(u盘)做成pe

热门文章

  1. SDL2源代码分析5:更新纹理(SDL_UpdateTexture())
  2. 表单数据序列化,后台如何接收(java)
  3. go语言报错:main redeclared in this block
  4. src refspec xxx does not match any
  5. js隐藏和显示div
  6. MySql优化神器 Explain工具介绍
  7. easyUI 设置datagrid的行高 + 文字超宽换行
  8. 【软考】程序设计语言复习指南
  9. 客户端主动断开连接_Go实现客户端和服务器抓包分析TCP三次握手和断开操作
  10. python数据驱动测试设计_GitHub - 13691579846/DataDriverTestFrameWork: python+selenium+pageobject数据驱动测试框架...