CentOS Apache 开启gzip压缩

CentOS Apache 开启gzip压缩

CludeChn
2013-03-08 / 0 评论 / 680 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2013年03月08日,已超过4275天没有更新,若内容或图片失效,请留言反馈。

      折腾过网站的童鞋都知道,web的优化尤为重要,我是搞前端的,所以对这一块了解过一丁点,所以自己折腾 零食网 也要有所实践,其实这也是买VPS的一个好处,在折腾中学习! 页面上除了合并一些静态的链接数,还要在服务器上开启gzip压缩,今天就当是学习笔记,记录下如何在CentOS/Apache 开启gzip压缩。

      第1步

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

      打开/etc/httpd/conf/httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。

      第2步 在httpd.conf中加入以下代码,可以加到任何空白地方,如果担心加错地方,就放到http.conf文件的最后一行,如果是虚拟服务器可以写.htaccess文件里面,然后放在项目根目录下即可。

<IfModule mod_deflate.c>
    #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
    SetOutputFilter DEFLATE 
    #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩   
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary 
    #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary 
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

    #设置对文件是文本的内容进行压缩,例如text/html  text/css  text/plain等
    AddOutputFilterByType DEFLATE text/* 

    #这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
    AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript 

    #这段是告诉apache对php类型的文件进行压缩
    AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp 

    # Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 有更多的问题,所以不开启压缩
    BrowserMatch ^Mozilla/4.0[678] no-gzip 

    # IE浏览器会伪装成 Netscape 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html ,但是事实上它没有问题
</IfModule>*/

      配置到这里apache中的gzip压缩就配置完成,重启apache后,新的配置就会生效。不过开启gzip功能需要额外CPU资源开销。

      另外题外话:图片没必要开启gzip压缩!

      1.使用经由压缩过的图片作为网页背景,cpu飙高,页面假死严重(ie6)

      2.所有的gif 或png等图片这些格式都是经过压缩过后的,对于这些文件进行压缩只是增加服务器负担而已。 对于图片优化的话可以使用ImageOptimizer来进行压缩。 前提你的服务器足够强大那你可以忽略了。

      转自:http://juntype.com/bayuedou/126.html

0

评论 (0)

取消