对动态编译的apache服务器来说可以通过apxs (Apache Extension Tool)来快速安装扩展模块。

如需要添加mod_deflate, 则可以通过下面的命令来实现

[apache2 home]/bin/apxs -i -c -a [apacheSRC]/modules/filters/mod_deflate.c

[apache2 home] 为当前安装的apache目录

[apacheSRC]为安装apache的源文件目录

通过这个命令可以快速的安装mod_deflate模块,并在httpd.conf文件中自动添加模块加载语句:

LoadModule deflate_module modules/mod_deflate.so

整个过程甚至无须关闭apache服务器,也不会将httpd.conf中的其他配置给冲突掉。之后只需重启apachectrl restart 就可以生效。

apxs的一些常用的参数解释:

DSO的安装和配置选项
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-e 表示需要执行编辑操作,它可以与 -a 和 -A 选项配合使用,与 -i 操作类似,修改Apache的httpd.conf文件,但是并不安装此模块。

DSO编译选项
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。

更多的参数可以参考官网。

参考文档:

  1. apache官方文档: http://httpd.apache.org/docs/2.2/programs/apxs.html
  2. .chinaunix提供的中文文档:http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.html  

 

发表评论