这里是普通文章模块栏目内容页
Gzip压缩开启方法适用于VPS服务器(虚拟主机)
gzip介绍


Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另一个潜在的好处是Gzip与搜索引擎的抓取工具有着更好的关系。例如 Google就可以通过直接读取gzip文件来比普通手工抓取更快地检索网页。在Google网站管理员工具(Google Webmaster Tools)中你可以看到,sitemap.xml.gz 是直接作为Sitemap被提交的。而这些好处并不仅仅限于静态内容,PHP动态页面和其他动态生成的内容均可以通过使用Apache压缩模块压缩,加上其他的性能调整机制和相应的服务器端缓存规则,这可以大大提高网站的性能。因此,对于部署在Linux服务器上的PHP程序,在服务器支持的情况下,我们建议你开启使用Gzip Web压缩。



VPS/服务器织梦网站Gzip开启方法:
IIS中开启Gzip压缩的方法

第一步:打开IIS,启用HTTP压缩服务


如下图:打开IIS管理器,找到左侧的“网站”,右键属性,找到“服务”这一栏,在“HTTP压缩”框中选中“压缩应用程序文件”和“ 压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”;



401.jpg


注意:这个临时目录用默认的就可以了(C:\WINDOWS/IIS Temporary Compressed Files),当然你要自己新建一个文件夹的话也可以,但是必须要给文件夹赋予 用户(IIS_你的机器名)完全控制的权限。 

第二步:启用web服务


如下图: 打开IIS管理器,找到左侧的“web服务扩展”,在右侧添加一个新的扩展; 



402.jpg

扩展地址:C:\WINDOWS\system32\inetsrv\gzip.dll

第三步:修改MetaBase.xml


开始 > 运行中输入 C:\WINDOWS\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)



搜索 Location ="/LM/W3SVC/Filters/Compression/gzip"

仔细核对下代码:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
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\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>

替换成: 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
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\gzip.dll"
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 Admin Service 服务。 (开始-运行-cmd-  net stop iisadmin )
301.jpg
  • 然后保存MetaBase.xml文件, 再启动IIS服务, (开始-运行-cmd-  iisreset 或net srart iisadmin或直接iis界面重启)
302.jpg
  • 至此,Gzip压缩就开启成功了,可以用站长工具测试开启成败。
虚拟空间织梦网站Gzip开启方法:

织梦DEDECMS网站空间也支持.htaccess,所以很简单,在.htaccess里面加入两行字:

SetOutputFilter DEFLATEAddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-java
  • 如果没有.htaccess这个文件,可以在本地新建一个文本文档,上传至你的空间,重命名为.htaccess就可以了如何新建.htaccess文件,电脑桌面右键新建文本,输入刚才那两行代码,另存为文件名 .htaccess 就可以记得有.符号;保存类型为所有文件。就一个.htaccess文件做好了,直接上传到FTP网站的根目录去。
  • 但只有这种方法在http://tool.chinaz.com/Gzips/站长工具检测是否实现压缩中,还是否的话,那只能找空间商了。把这反馈到他们中,让他们把服务器开启GZIP压缩功能。
  • Gzip可以压缩网页大小从而达到加速打开网页的速度,目前主流的浏览器几乎都支持这个功能,但开启Gzip是需要服务器支持的,在这里我们简单的使用php来判断服务器是否支持Gzip功能。随便建一个php文件,并将以下代码写入文件,然后浏览器访问查看php综合信息:
<?php phpinfo();?>
打开该页面之后,CTRL+F查找以下字符串:
_SERVER["HTTP_ACCEPT_ENCODING"]
找到后看后面为否有gzip这个参数,如果有那么恭喜你,你的空间支持Gzip,如果没有,很遗憾,这就说明你的网站无法使用Gzip压缩了,这个就需要用第三方软件实现GZIP压缩。一般有360网站卫士,百度云加速等等。题外话:mod_gzip 和mod_deflate的主要区别是什么?使用哪个更好呢?
  • 首先一个区别是安装它们的Apache Web服务器版本的差异。Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。
  • 第二个区别是压缩质量。mod_deflate 压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。
那么,为什么使用mod_deflate?
  • 第三个区别是对服务器资源的占用。一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。
 


不太明白?简而言之,如果你的网站,每天不到1000独立访客,想要加快网页的加载速度,就使用mod_gzip。虽然会额外耗费一些服务器资源, 但也是值得的。如果你的网站每天超过1000独立访客,并且使用的是共享的虚拟主机,所分配系统资源有限的话,使用mod_deflate 将会是更好的选择。



另外,从Apache 2.0.45开始,mod_deflate 可使用DeflateCompressionLevel 指令来设置压缩级别。该指令的值可为1(压缩速度最快,最低的压缩质量)至9(最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质 量较为平衡的值)。这个简单的变化更是使得mod_deflate 可以轻松媲美mod_gzip 的压缩。


 


P.S. 对于没有启用以上两种Gzip模块的虚拟空间,还可以退而求其次使用php的zlib函数库(同样需要查看服务器是否支持)来压缩文件,只是这种方法使用起来比较麻烦,而且一般会比较耗费服务器资源,请根据情况慎重使用。

文章来源:本本儿互联网知识分享平台
原文地址:http://www.benbener.cn/question/40

收藏
0
有帮助
0
没帮助
0