LINUX下为apache添加模块
文本页面(htm/css/js等)启用压缩后,一般可以压缩70%左右。即50K的文件,实际只需传输15K到客户端,由客户端解压显示。另外,实践证明,启用Gzip压缩后,不会对搜索引擎收录有影响。在Apache1.3时代,有一个mod_gzip的模块,但 Apache2.x系列已经内置了Deflate模块,因此,只需要安装Deflate模块即可,由于在编译apache时没有加这些参数,只能另外添加安装:
============================================================
一、mod_deflate.so安装过程:
1、进入源码包
# pwd
/home/redhat/httpd-2.2.15/modules/filters
2、安装deflate 并添加到httpd.conf中
# /usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
apxs命令参数说明:
-i此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码 文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。
3、查看安装目录中的modules文件夹和httpd.conf文件
# ls
httpd.explibphp5.somod_deflate.so
在第56 行出现
LoadModule deflate_module modules/mod_deflate.so
二、mod_headers.so安装过程:
1、mod_headers.c 在源码包的modeules/metadata目录下面
# pwd
/home/redhat/httpd-2.2.15/modules/metadata
# ls mod_headers.
mod_headers.c mod_headers.dspmod_headers.expmod_headers.lo mod_headers.o
2、安装deflate 并添加到httpd.conf中
# /usr/local/apache2/bin/apxs -i -a -c mod_headers.c
# ls
httpd.explibphp5.somod_deflate.somod_headers.so
在57行出有
LoadModule headers_module modules/mod_headers.so
如果是新安装apache,直接加上 --enable-headers --enable-deflate 即可
====================================================================
三、在httpd.conf中添加
DeflateCompressionLevel 7
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATEjscss
这样的做法可以压缩一般网页中会用到的html、xml、php、css、js等格式文档输出,减少资料传输量,减少网络带宽被吃掉的情形。
DeflateCompressionLevel指压缩程度的等级;从1到9 ,9是最高等级,据了解,这样做最高可以减少8成大小的传输量,最好也能节省一半;
DeflateCompressionLevel预设可以采用6 这个数值,以维持用处理器效能与网页
压缩品质的平衡
页:
[1]