如何开启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


Posted

in

by

Comments

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

  1. redgouqi Avatar

    好文,学习了,也该好了,感谢

  2. Solo Avatar

    我的cpanel竟然没有这个..晕

  3. […] 本来很想用自己的blog做测试的,可惜是虚拟主机,不能自由配置。所以对于服务器端的Gzip压缩的设置,只能是先学理论,日后捣鼓捣鼓主机了,不过对于这方面的设置方式,还是搜到了些资料:《如何开启Gzip压缩》。 […]

  4. Junan Avatar

    郁闷、我的CP居然没有Optimize Website~~~

    1. kangzj Avatar

      @Junan  用修改.htaccess的方法就行

  5. 菜牛 Avatar

    我的CPanel后台找不到Optimize Website选项啊。

    1. kangzj Avatar

      @菜牛  用修改.htaccess的方法就行

  6. Showfom Avatar

    那啥,研究一下Apache的吧~搞不定gzip

  7. […] Kangzj 如何开启Gzip压缩 […]

  8. 老高 Avatar
    老高

    那么在这次的合租空间应该使用何种方式呢?

    1. kangzj Avatar

      @老高, 用修改.htaccess的方法就行

  9. 左岸读书 Avatar

    借你的这篇文章,解决了我的一个大问题~
    发现修改.htaccess这一招最实用~

    1. kangzj Avatar

      @左岸读书, 呵呵,非常高兴对你有用

  10. bolo Avatar

    主机刚好没有这个模块

    1. kangzj Avatar

      @bolo, 那就得用PHP本身的压缩了,呵呵

  11. […] 文章参考了 kangzj. 的http://kangzj.net/how-to-enable-gzip-for-ur-website/ […]

  12. HzlzH Avatar

    速度很不错,但是有一点是肯定的。对SEO相当不利
    这方面文章多了去了!

    1. kangzj Avatar

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

  13. sleepy Avatar

    要试试的,直接cpanel了

    1. kangzj Avatar

      @sleepy, 有CPanel的人都是幸福人

      1. sleepy Avatar

        @kangzj, 已经开启了,怎么验证是有效的呢,凭感觉?

          1. sleepy Avatar

            @kangzj, 谢谢!看了一下,Compression % 73.1,相当不错呀!

  14. 不死鸟 Avatar

    可以让wordpress加速?这要试试

    1. kangzj Avatar

      @不死鸟, 嗯,是的

  15. Run Avatar

    Direct Admin .htaccess在哪找?我没找到哎

    1. kangzj Avatar

      @Run, 在你wordpress的根目录啊~

  16. Run Avatar

    这个貌似对我有用。呵呵

    1. kangzj Avatar

      @Run, 可以试一下,呵呵

  17. 我买糕的 Avatar

    嘎嘎。确实快了好多哈哈 😳

    1. kangzj Avatar

      @我买糕的, 那是,呵呵 😐

  18. zhukun Avatar

    我想问一下 开启了GZIP的话 有时候打开网站会变成弹出来一个下载文件的选项不知道是怎么回事 ❗

    1. kangzj Avatar

      @zhukun, 是什么类型的文件,扩展名是什么啊?

      1. zhukun Avatar

        @kangzj,忘了是什么后缀名了 我以前遇到过一次这样的情况 还有就是开启了GZIP据说会多占用CPU

        1. kangzj Avatar

          @zhukun, 应该是MIME类型的问题;是会占用些CPU,但是还好啦

  19. 我买糕的 Avatar

    开启GZ压缩试试去 – –
    我对我的载入速度颇有微词哎。。。

    1. kangzj Avatar

      @我买糕的, 我给你把dabr那开启了gzip,嘻嘻

  20. Spoker Avatar

    不知道博主第一个那个有图是啥东东啊

    1. kangzj Avatar

      @Spoker, 是CPannel管理后台啊

  21. Lc. Avatar

    最近才明白Gzip是啥东西~~ 😉

    1. kangzj Avatar

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

      1. Lc. Avatar

        @kangzj, 这种用法倒是知道。哈哈。

  22. 林木木 Avatar

    一般专业的WordPress主机都自动开启的~

    1. 万戈 Avatar

      @林木木, 我的主机也很专业哒~但是没有,不过也幸好没有开启,给我自己折腾的空间

      1. kangzj Avatar

        @万戈, 现在搬了家了吗?还在息壤?

        1. 万戈 Avatar

          @kangzj, 恩,前段时间在忙找工作,一直没搬,还在息壤呢

    2. kangzj Avatar

      @林木木, 嗯,不过也不一定的

  23. 海天无影 Avatar

    好多空间不支持的
    而且貌似听说 不利于SEO不知道真的假的~

    1. kangzj Avatar

      @海天无影, 大部分空间应该还是支持的,windows的就不好说了,呵呵

  24. Hobo Avatar

    可惜我的空间不支持

    1. kangzj Avatar

      @Hobo, 不会吧;试试装插件或者用.htaccess

      1. Hobo Avatar

        @kangzj, 真的不支持,一开启就什么都打不开了.

        1. kangzj Avatar

          @Hobo, 难道你用的是IE6?

          1. Hobo Avatar

            @kangzj, 我用firefox…跟浏览器关系大吗?

            1. kangzj Avatar

              @Hobo, 听说MS只有IE6才有问题,FF没听说过

              1. Hobo Avatar

                @kangzj, 主要问题在于,如果空间不支持也会出现这个吧?

                1. kangzj Avatar

                  @Hobo, 到现在偶还没有遇到过不支持的空间;不过确实有可能不支持啊;话说是哪里买的空间啊?

                  1. Hobo Avatar

                    @kangzj, IX WebHosting

                    1. kangzj Avatar

                      @Hobo, 专业的Hosting服务啊,不太可能不支持的,个人感觉

              2. ABitNo Avatar

                @kangzj, 应该能根据浏览器选择是否开启gzip的

                1. kangzj Avatar

                  @ABitNo, nginx的相关选项(手动设置),不知道apache是什么样;如果是自动那就太好了,呵呵

Leave a Reply

%d bloggers like this: