Apache扩展工具之apxs
apxs是一个专门用来加载第三方应用模块的实用程序。通常,第三方模块的开发者都要使其开发的模块能用apxs应用程序编译并安装到Apache上。尽管如此,我们还是要养成一种习惯,在安装之前先阅读一下模块的说明文件。因为有些模块的安装可能会有例外,比如,mod_ssl的安装比较复杂。要查看apxs命令的使用方法,可以用:apxs --help加入一个第三方模块通常是使用如下步骤。
(1)执行如下命令:
$ apxs -i -a -c mod_foo.c
gcc -f[ic -DSHARD_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable -o mod_foo.so mod_foo.o
(2)这样在当前目录下会生成一个mod_foo.so的文件,然后把这个文件拷贝到Apache的libexec目录下:
cp mod_foo.so /u9r/local/apache/libexec/mod_foo.So
chnod 7 5 5 /usr/lucal/apache/liLoexec/mod_foo. so
(3)修改httpd.conf文件,用Addmodule和LoadModule指令加入这个模块(可以使用-a参数自动地将LoadModule和Addmodule指令加入到httlxi.conf文件中)。
(4)重启Apache服务器。
$ apachectl resLart
/uer/local/apache/ubin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998J [debug] mod_so.ct(303): loaded modulefoo_mcdule
/usr/local/apache/sbin/apachectl restart: httpd started
查看httpd.conf文件,你会看到有如下一行:LoadModule foo_module libexec/mod_foo.soapxs参数的具体说明如。
◆ -n:指定装载模块的名字。如果不使用这个选项,那么装载进来的模块将是以so为后缀的文件名。
◆ -q:查询Apache的一些基本配置。例如,/usrflocal/apache/bin/apxs -q PREFIX将显示PREFIX的路径。
◆ -s:更改用.q参数查询到的参数。例如,/usrfloca/apache/apxs -sPREFIX-/usr/local/apachel.
◆ -c:编译模块。
◆ -i:安装模块。
◆ -a:自动添加LoadModule到hrtpd.conf文件中。