如何开启Gzip压缩

Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右,好处有二:

节省带宽这个对大多数人来说没什么,加快你网页的加载速度确是普适的。前面看到许多朋友都在介绍如何开启Gzip,但是个人感觉方法不甚全,听我给大家道来:
方法大概有三:在Contol Pannel开启Gzip、开启http服务器Gzip、利用php本身的Gzip。

1. 在Contol Panel开启Gzip

1.1 CPanel中开启Gzip

在“SoftWare and Services”那一栏中“Optimize Website”:



默认情况只压缩框中的三种MIME类型,我们选择成Compress all content的话,css和js就也可以被压缩了。当然控制面板的Gzip压缩是基于服务器的,控制面板只不过提供一个友好的接口而已,如果你的技术盲,用控制面板开启Gzip是最好的方法了。

1.2 Direct Admin中开启Gzip

DA在面板中MS没有Gzip压缩的选项,不过可以在.htaccess中开启,打开.htaccess,添加下列的行:

    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript

这样过瘾了,不但php,html,js,css等开启了压缩,连图片都开启了Gzip压缩。

2. 开启http服务器Gzip

只玩过Apache和Nginx,所以只介绍这两种服务器开启Gzip压缩的方法:

1.1 Apache开启Gzip

需要加载deflate模块,如果开启了AllowOverride All的话,可以直接按照在DA中修改.htaccess的方式来开启Gzip压缩。如果没有开启的话,就需要直接写在httpd.conf里面了,不多讲了。

1.2 Nginx开启Gzip

Nginx默认是开启Gzip的,但是他只压缩有限的几种类型,需要我们增加几种,打开nginx.conf,找到下面的行,并修改(没有的请添加):

    # output compression saves bandwidth
    gzip              on;
    gzip_proxied      any;
    gzip_http_version 1.1;
    gzip_min_length   1100;
    gzip_comp_level   5;
    gzip_buffers      8 16k;
    gzip_types        text/plain text/xml text/css application/x-javascript application/xml application/xml+rss text/javascript application/atom+xml;
    gzip_vary        on;
    #gzip_disable     "MSIE [1-6].";

gzip_com_level不需要设置成很高,3即可,5的话太耗CPU资源,压缩的效果也不会有什么大的上升。至于比较,大家可以在Gzip 检测页面查看各个压缩级别的压缩率,便于选择。

3. 利用php本身的Gzip

这个并不提倡,因为php的效率比服务器端的压缩还是有很大差距的,但是如果服务器不支持Gzip压缩的话,就只能用这种方法来开启Gzip。

1.1 对于WordPress可以安装Gzip相关插件

比如wp super cache中就有Gzip压缩的功能。也有专门的Gzip压缩插件,比如:Gzippy、GZIP Output等。

1.2 修改WordPress源码,增加Gzip功能

不推荐,因为每次升级之后还要再修改一次,很麻烦,不做介绍。想做的话可以参考万戈:开启GZIP,提速Wordpress

61 Replies to “如何开启Gzip压缩”

    1. @HzlzH, 搜索了下,大多数人都是说Google完美支持,百度支持不良;不过就我的经历来看,并不是这样,百度也完美支持的;我一直都在用Gzip压缩,百度收录只增无减

    1. @Lc., 其实Gzip不光用来压缩传输的,也可以做压缩包啊,呵呵,经常用的.tar.gz就是用tar打包,用gzip压缩的格式

Leave a Reply to kangzjCancel reply