|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
经常看到有人问用什么版本的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后:
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的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。 |
|