安装mod_deflate启用apache的GZIP压缩

操作系统:Linux Cent OS 5

相关环境:Apache httpd 2.2.15

安装版本:apache httpd 2.2.15内置mod_deflate

gzip原本是文件压缩格式,扩展名为.gz,HTTP协议用它来改进WEB应用程序性能,加快HTTP请求返回内容的下载速度,增加用户体验,降低网络带宽占用apache内置有mod_deflate模块来启用gzip功能,但假如安装apache的时候没有编译相关模块,就需要你手动安装一次,以启用它:

首先到你的apache源码目录,查找到mod_deflate.c文件

Mac及Linux下都可用locate mod_deflate.c 通常位置:apachehttpd源码目录/modules/filters/mod_deflate.c 进入上面找到的目录运行下面的命令:

/usr/local/apache/bin/apxs -i -c -a mod_deflate.c
注:apxs目录请参照您自己的机器,通常在apache安装目录的bin目录下

安装完成,到apache的modules目录看看是不是有了mod_deflates.so,如果有了这个文件,请编辑apache安装目录的conf/httpd.conf配置文件:

LoadModule deflate_module modules/mod_deflate.so
加载mod_deflate.so模块

在httpd.conf里面的站点配置里增加如下内容:

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE

第一行代表对什么样的内容启用GZIP压缩,

第二行代表压缩级别,

第三行代表启用deflate模块对本站点的输出进行GZIP压缩(就是对所有输出启用压缩)OK,完成拉,

重启apache httpd后可以查找一些gzip检测站点进行一下效果,通常压缩率都超过%50,可以有效增加访问速度及站点带宽利用率,Good Luck!

可能碰到的问题:

问题:apache启动后问题,日志里出现mod_deflate.so:undefined symbol:inflateEnd

解决:在LoadModule deflate_module modules/mod_deflate.so之前增加LoadFile /usr/local/lib/libz.so或LoadFile /usr/lib/libz.so

注:具体libz.so位置自己找一下