nginx开启gzip
nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip压缩,该模块是默认基础的,不需要重新编译,直接开启即可。
1nginx的response headers中的Content-Encoding是gzip
2返回文件大小明显被压缩
1直接在浏览器通过开发者工具查看请求头、返回头等信息
2使用curl命令行curl -I -H"Accept-Encoding: gzip, deflate" " http://wwwexamplecom "
3站长工具中的 网页Gzip检测
1先检查gzip_types中是否包含需要的类型
2如果公司存在多层缓存机制,确认每一层都开启了gzip压缩
3开启 gzip_static on,确认服务器上是否存在gz文件
市场上的新产品网站太多,因为工信部严查,服务器不得不暂时转移到香港,2M的国际宽带出口,太少,量大的会导致网站开不了,只有重新排版网站,减少数量,压缩大小,再在服务器上做GZIP压缩,在做GZIP压缩的过程中出现IIS服务启动不了的情况,折腾了我一天的时间,找了很多资料,整理一下我成功的例子,分享给需要的人:
第一种 解决办法:在Internet信息服务下有本地计算机(计算机机名),单击名键,选择断开,提示确实要断开本地计算机(计算机机名)吗?选择确定。 右键单击Internet,选择连接,计算机名填本机名称,用户名填本机管理员帐号(Administrator),确定。
第二种 “eventlog”服务,然后启动“WorldWideWebPublishing”服务。
第三种 先打开Administrative Tools --> Service,发现World Wide Web Publishing Service停止了。于是试图启动该服务,结果报错。 于是查看World Wide Web Publishing Services所需要依赖的服务(Dependencies),看到是IIS Admin Service。进而发现IIS Admin Service也无法启动,再查IIS Admin Service的Dependencies,查的结果是Protected Storage和RPC(Remote Procedure Call),于是启动RPC,接着顺利启动IIS Admin Service,接着启动World Wide Web Publishing Services,IIS恢复正常。
第四种 World Wide Web Publishing Service 服务启动不了,在"添加或删除程序"顶部选中"显示更新",然后删除939373的补丁。
完了后我的服务器还是启动不了,干脆重装一下iis,重装后再次做了GZIP,停止IIS后继续出现问题,郁闷了,难道是做GZIP的操作除了问题?试着恢复了MetaBasexml文件,再次启动IIS,ok,好了,搞了半天原来问题在这。
在GZIP中找出错误,问题解决,压缩也做好了。
第一步:打开IIS,启用HTTP压缩服务
右击“网站”->“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“ 压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”;
第二步:启用web服务
第三步:修改MetaBasexml
开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBasexml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)
搜索 Location ="/LM/W3SVC/Filters/Compression/gzip"
仔细核对下代码:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzipdll"
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\gzipdll"
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\gzipdll"
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\gzipdll"
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>
修改好以后,重启iis
然后在保存MeteBasexml,保存好后再启动IIS。这样Gzip压缩就启用成功了。
最后,测试Gzip压缩是否成功
1、TABLE标签的缩减
table标签是现在大多数上线网站中最为常见的代码形式,原因根本在于table在建立网站时比较快捷,但是这也就影响了网站的后期优化。
相对于div+css布局的精简代码网站来说,它的占位比较大,所以,在建站时候,尽量是少用表格,即便是要使用表格时,嵌套式表格也要尽量少用,以免产生冗杂代码。
2、代码注释省略
很多程序人员在编写代码是都习惯在别人看不懂的地方给出一段注释,这些代码往往是为了几个程序员之间的协同工作,对于外人以及搜索引擎来说没有任何用处,相反还会给搜索引擎蜘蛛带来一定的困扰。
打开页面代码我们经常会看到一些注释代码,这是程序员为了表明代码意义而做的注释,其实这些打开不必,因为对于搜索引擎而言,它们是不存在任何意义的,只是会增加了页面代码的容量,这样对于网站不会有什么利处,不如直接省略。
3、清除页面中多余的代码
有的网站以为制作者的代码书写习惯问题,页面会有很多空格代码,比如:空格代码、style和font重复定义的代码,不要小看这些体积很小的代码,积攒多了,也会使我们的网站异常的臃肿。
很多网站都是采用的DIV+CSS,在CSS中定义了文字的字体,颜色,以及页面的排版,但是在网站的其他地方还用了以style以及font来再次定义字体字体,这些代码完全没有必要重复定义,属于可以精简的代码。
4、将html控制方式转换为CSS控制
很多网页设计者习惯在标签内对内容进行控制,比如img标签里通过width和height来控制的大小,尽量将这些代码转换成外调式的CSS,使网页代码更加的瘦身。
5、缓存静态资源
通过设置浏览器缓存,将css、js等不太经常更新的文件缓存在浏览器端,这样同一访客再次访问网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必每次都从服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约服务器流量。
6、网页压缩技术
对于网页压缩而言,相信各位站长都比较熟悉,主要是启用服务器Gzip,对页面Gzip压缩,减少元素的体积,从而减少数据的传输,进而提高网页的加载速度,这个功能需要服务器的支持,GZIP压缩一般能对网页进行30%-80%的压缩,是重要的一种优化效果。
0条评论