apxs 是Apache的扩展工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用LoadModule指令在运行时加载到Apache 服务器中。
apache安装时—enable-so 参数必须添加上
./configure --prefix=/usr/local/apache2 --enable-so
make && make install
1.进入apache源代码的modules目录
cd /usr/local/src/httpd-2.2.17/modules/
2.运行如下命令自动编译、安装和修改httpd.conf文件,激活mod_proxy模块
/usr/local/apache2/bin/apxs -c -i -a proxy/mod_proxy.c proxy/proxy_util.c
选项说明:
-c 执行编译操作
-i 安装操作,安装一个或多个动态共享对象到服务器的modules目录
-a 自动增加一个LoadModule行到httpd.conf文件,以激活此模块,若此行存在则启用之
-A 与-a类似,但是它增加的LoadModule行前有井号前缀(#)
-e 需要执行编辑操作,可与-a和-A选项配合使用,与-i操作类似,修改httpd.conf文件,但并不安装此模块
3.如果还需要其他proxy模块如mod_proxy_http、mod_proxy_ftp,则单独
/usr/local/apache2/bin/apxs -c -i proxy/proxy_http.c
/usr/local/apache2/bin/apxs -c -i proxy/proxy_ftp.c
在/usr/local/apache2/conf/httpd.conf中会自动添加如下
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule proxy_module modules/mod_proxy.so