15053971836 注册 / 登录

apache如何开启gzip

时间: 阅读:432
apache如何开启gzip

最佳回答

阳光下的阴霾

阳光下的阴霾

2023-01-13 03:50:01

在负载均衡中有一个必须要做的事情就是给服务器开启Gzip压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。

Gzip是若干文件压缩程序的简称,通常指GNU计划的实现,此处的Gzip代表的就是GUN ZIP,这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。

接下来,将介绍Apache、Nginx 如何开启Gzip压缩。

Apache开启Gzip要看查看是否已经开启mod_deflate模块,如果没有则需要先加载,在配置文件httpd.conf中将

前面的#号去掉。另外,如果对Apache的配置文件不太懂的客户在修改配置文件之前对配置文件进行备份。

开启模块后,在httpd.conf配置文件的最下面空白处添加一下内容:
其中DeflateCompressionLevel 的意思是压缩等级,共分为1-9,9级为最高,不建议使用太高的压缩比,这样会对CPU产生太大的负担。

打开配置文件 nginx.conf找到Gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。

下面是一个相对优化不错的配置。

最新回答共有2条回答

  • 建站最低500起
    回复
    2023-01-13 05:05:03

    服务器设置 gzip 压缩是 web 开发里很普遍的做法。假设你要请求一个 100k 的文件,网络传输速度为 50k/s,需要 2s 才能得到数据,但是如果在服务器设置了 gzip 压缩,将服务端的文件压缩到了 50k(实际上的压缩率往往小于 50%),这时候只需 1s 就能得到数据,然后在客户端解压即可。

    可以对比下同一个文件在开启 gzip 前后的大小。

    gzip 压缩前:

    gzip 压缩后:

    那么如何在服务端开启 gzip 服务呢?这里以 apache 为例简单介绍下。

    打开 apache 的 "httpd.conf" 文件,比如我的是在 "C:wampinpacheApache2.2.21conf" 目录下。找到以下这一行,将它前面的注释(#)去掉:

    很多参考文件都提到同时要对 LoadModule headers_module modules/mod_headers.so 去掉注释,说 "如果不开启这个,那网站就不能正常显示了" ,不过我在测试过程中没有去掉也没有问题。

    接着再添上以下代码:

    这样就能对所有文件进行 gzip 压缩了。压缩等级是个 1-9 之间的整数,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源。(本地测试了下 1 和 9 压缩率差不了多少...)

    实际开发中我们并不需要对所有文件进行压缩,比如我们无需对图片文件进行 gzip 压缩,因为图片文件(一般为 jpg、png等格式)本身已经压缩过了,再进行 gzip 压缩可能会适得其反(详见 图片要启用gzip压缩吗?绝对不要!,背景图片千万不要gzip压缩,尤其是PNG),类似的还有 PDF 以及音乐文件。所以我们可以设置过滤指定文件或者对指定文件进行压缩。

    比如我们