在早期的apache 1.x系列版本中没有内建网页压缩技术,所以才需要去gzip压缩。官方在开发apache2的时候,已经考虑到网页压缩考虑并内建了 mod_deflate模块,所以apache2就不需要使用到mod_gzip了。这两者的工作原理是类似的,还有启用mod_deflate这个网页压缩的模块,功能和效率和mod_gzip是差不多甚至还好一些,所以就不需要再用mod_gzip模块了。
1、首先得确认apache是否已经加载了mod_deflate模块。
#httpd -M
在结果中查看是否有 deflate_module (shared) 这样的一行字段,如果有说模块己加成功。如果没有需先安装加载mod_deflate模块。
2、编辑配置文件httpd.conf,增加支持gzip的文件类型,如下:
<IfModule mod_deflate.c>DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfModule>
这样可以压缩一般网页中会用到的html、xml、php、css、js等格式档案输出,虽然会占用掉服务器处理器的一点点处理器时间,浏览者在接收网页数据时也会消耗极短暂的一点点处理器时间,不过却可以大幅减少数据传输量,减少网络带宽被吃掉的情形。
DeflateCompressionLevel 9是指压缩程度的等级,从1到9,9是最高等级。据了解,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。
DeflateCompressionLevel 预设可以采用 6 这个数值,以维持耗用处理器效能与网页压缩质量的平衡。
补充
至于已经是压缩过的图片格式如jpg,音乐档案如mp3、压缩文件如zip之类的,就没必要再压缩了,因为这种档案你一开放服务器传输时压缩,处理器时间会跑不完,而且就算跑完大小也一样。如果使用PHP函数之类压缩过的文件,httpd服务是不会再次压缩的。系统级别的处理,总会比应用级别的效率高吧。
Apache 的 mod_deflate 和 gzip compression 的对比.
* 不使用任何压缩: 430KB
* 仅使用 gzip: 323KB
* 仅使用 Apache 的 deflate 模块: 247KB
* 同时使用 deflate 以及 gzip: 247KB
完成后保存退出
3、重启Apache
#service httpd restart
4、至此网页压缩模块已经安装完成,检验是否正确启用gzip功能吧。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。