仓酷云

标题: 来一发apache启用gzip紧缩的完成办法 [打印本页]

作者: 透明    时间: 2015-1-16 13:58
标题: 来一发apache启用gzip紧缩的完成办法
经常看到有人问用什么版本的linux好,其实只要你认真学习无论什么版本都挺好的。
1、gzip先容

Gzip是一种盛行的文件紧缩算法,如今的使用非常普遍,特别是在Linux平台。当使用Gzip紧缩到一个纯文本文件时,效果长短常分明的,约莫能够削减70%以上的文件巨细。这取决于文件中的内容。

使用Apache中的Gzip模块,我们可使用Gzip紧缩算法来对Apache服务器公布的网页内容举行紧缩后再传输到客户端扫瞄器。如许经由紧缩后实践上下降了收集传输的字节数,最分明的优点就是能够加速网页加载的速率。

网页加载速率加速的优点不问可知,除节俭流量,改良用户的扫瞄体验外,另外一个潜伏的优点是Gzip与搜刮引擎的抓取工具有着更好的干系。比方Google就能够经由过程间接读取gzip文件来比一般手工抓取更快地检索网页。在Google网站办理员工具(GoogleWebmasterTools)中你能够看到,sitemap.xml.gz是间接作为Sitemap被提交的。

而这些优点其实不仅仅限于静态内容,PHP静态页面和其他静态天生的内容都可以经由过程利用Apache紧缩模块紧缩,加上其他的功能调剂机制和响应的服务器端缓存划定规矩,这能够年夜年夜进步网站的功能。因而,关于部署在Linux服务器上的PHP程序,在服务器撑持的情形下,我们倡议你开启利用GzipWeb紧缩。

2、Web服务器处置HTTP紧缩的历程以下:

1.Web服务器吸收到扫瞄器的HTTP哀求后,反省扫瞄器是不是撑持HTTP紧缩(Accept-Encoding信息);

2.假如扫瞄器撑持HTTP紧缩,Web服务器反省哀求文件的后缀名;

3.假如哀求文件是HTML、CSS等静态文件,Web服务器到紧缩缓冲目次中反省是不是已存在哀求文件的最新紧缩文件;

4.假如哀求文件的紧缩文件不存在,Web服务器向扫瞄器前往未紧缩的哀求文件,并在紧缩缓冲目次中寄存哀求文件的紧缩文件;

5.假如哀求文件的最新紧缩文件已存在,则间接前往哀求文件的紧缩文件;

6.假如哀求文件是静态文件,Web服务器静态紧缩内容并前往扫瞄器,紧缩内容不寄存到紧缩缓存目次中。

上面是两个演示图:

未利用Gzip:



开启利用Gzip后:


来一发apache启用gzip紧缩的完成办法
登录/注册后可看大图

3、实行
Apache上使用Gzip紧缩算法举行紧缩的模块有两种:mod_gzip和mod_deflate。要利用GzipWeb紧缩,请起首断定你的服务器开启了对这两个组件之一的撑持。在Linux服务器上,如今已有愈来愈多的空间商开放了对它们的撑持,有的乃至是同时撑持这两个模块的。比方今朝Godaddy、Bluehost及DreamHosts等空间商的服务器都已同时撑持mod_gzip和mod_deflate。
固然利用Gzip同时也必要客户端扫瞄器的撑持,不外不必忧虑,今朝年夜部分扫瞄器都已撑持Gzip了,如IE、MozillaFirefox、Opera、Chrome等。
经由过程检察HTTP头,我们能够疾速判别利用的客户端扫瞄器是不是撑持承受gzip紧缩。若发送的HTTP头中呈现以下信息,则标明你的扫瞄器撑持承受响应的gzip紧缩:
Accept-Encoding:gzip撑持mod_gzip
Accept-Encoding:deflate撑持mod_deflate
Accept-Encoding:gzip,deflate同时撑持mod_gzip和mod_deflate  在apache2.0以上(包含apache2.0)的版中gzip紧缩利用的是mod_deflate模块,上面是详细设置步骤以下:
  1、修正Apache的http.conf文件,往除mod_deflate.so后面的正文
.代码以下:

LoadModuledeflate_modulemodules/mod_deflate.so


2、在根目次中新建.htaccess文件,定制紧缩划定规矩
.代码以下:

#GZIP紧缩模块设置
<ifmodulemod_deflate.c>
#启用对特定MIME范例内容的紧缩
SetOutputFilterDEFLATE
SetEnvIfNoCaseRequest_URI.(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$no-gzipdont-vary#设置不合错误紧缩的文件
AddOutputFilterByTypeDEFLATEtext/htmltext/csstext/plaintext/xmlapplication/x-httpd-phpapplication/x-javascript#设置对紧缩的文件
</ifmodule>


3、对指定的文件设置缓存的保存工夫,往除mod_headers.so模块后面的正文
.代码以下:

LoadModuleheaders_modulemodules/mod_headers.so


4、在根目次中新建.htaccess文件,定制紧缩划定规矩
.代码以下:

#文件缓存工夫设置
<FilesMatch".(flv|gif|jpg|jpeg|png|ico|swf|js|css)$">
HeadersetCache-Control"max-age=2592000"
</FilesMatch>


内里的文件MIME范例能够依据本人情形增加,至于PDF、图片、音乐文档之类的这些自己都已高度紧缩格局,反复紧缩的感化不年夜,反而大概会由于增添CPU的处置工夫及扫瞄器的衬着成绩而下降功能。以是就没需要再经由过程Gzip紧缩。经由过程以上设置后再检察前往的HTTP头,呈现以下信息则标明前往的数据已过紧缩。即网站程序所设置的Gzip紧缩已失效。
Content-Encoding:gzip注:不论利用mod_gzip仍是mod_deflate,此处前往的信息都一样。由于它们都是完成的gzip紧缩体例。
除此以外,还能够经由过程一些在线反省工具http://tool.chinaz.com/Gzips/来检测你的网站内容是不是已过Gzip紧缩。
4、mod_gzip和mod_deflate的次要区分是甚么?利用哪一个更好呢?
起首一个区分是安装它们的ApacheWeb服务器版本的差别。Apache1.x系列没有内建网页紧缩手艺,以是才往用分外的第三方mod_gzip模块来实行紧缩。而Apache2.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将会是更好的选择。
别的,从Apache2.0.45入手下手,mod_deflate可以使用DeflateCompressionLevel指令来设置紧缩级别。该指令的值可为1(紧缩速率最快,最低的紧缩质量)至9(最慢的紧缩速率,紧缩率最高)之间的整数,其默许值为6(紧缩速率和紧缩质量较为均衡的值)。这个复杂的变更更是使得mod_deflate能够轻松媲美mod_gzip的紧缩。
P.S.关于没有启用以上两种Gzip模块的假造空间,还能够退而求其次利用php的zlib函数库(一样必要检察服务器是不是撑持)来紧缩文件,只是这类办法利用起来对照贫苦,并且一样平常会对照泯灭服务器资本,请依据情形稳重利用。具体php启用zlib紧缩文件

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
作者: 再现理想    时间: 2015-1-17 17:46
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
作者: 冷月葬花魂    时间: 2015-1-21 08:15
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者: 爱飞    时间: 2015-1-30 12:34
如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
作者: 因胸联盟    时间: 2015-2-6 11:48
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
作者: 谁可相欹    时间: 2015-2-16 02:34
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
作者: 若天明    时间: 2015-3-4 23:04
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
作者: 金色的骷髅    时间: 2015-3-11 21:18
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
作者: 只想知道    时间: 2015-3-28 17:36
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2