查看apache支持的模块:
httpd -l
查看apache载入的模块:
httpd -t -D DUMP_MODULES
使用apache扩展工具apxs可以为apache编译和安装扩展模块。新安装的模块将作为动态共享对象提供给apache,因此,apache运行的平台必须支持DSO特性,并且httpd必须内建mod_so模块。这样才能使用mod_so提供的LoadModule指令在运行时将模块加载到apache服务器中。
要为已运行的apache添加mod_proxy模块,先定位到apache源码中modules/proxy目录。然后使用apxs进行编译安装:
/usr/local/apache2/bin/apxs -i -c -a mod_proxy.c proxy_util.c
-c表示进行编译,-i表示将生成的模块安装到apache的modules目录下,-a选项在httpd.conf中增加一条LoadModule指令以载入刚安装的模块,或者如果此指令已存在,则启用之。
apxs会根据源码判断模块的名称,或者(在失败的情况下)根据文件名推测模块名称,可以用-n选项显式地指定模块名称。
安装成功以后将在apache的modules目录下生成mod_proxy.so文件,并且在httpd.conf中加入了一行
LoadModule proxy_module modules/mod_proxy.so
proxy只是核心模块,具体使用时还需要其它模块的支持,安装方法类似。
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_http.c
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_ftp.c
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_connect.c
同样,安装后在apache的modules目录中生成了mod_proxy_http.so, mod_proxy_ftp.so, mod_proxy_connect.so文件。并且在httpd.conf中添加了如下行:
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
这样,mod_proxy模块就安装好了,进行具体的应用配置,重启apache就可以了。