转:用APXS编译Apache模块

apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用LoadModule指令在运行时加载到Apache服务器中。

1. 进入apache源代码的modules目录

2. 运行如下命令自动编译、安装和修改httpd.conf文件,激活mod_proxy模块:

apache path/bin/apxs -c -i -a mod_proxy.c proxy_util.c

选项说明:
-c 执行编译操作
-i 安装操作,安装一个或多个动态共享对象到服务器的modules目录
-a 自动增加一个LoadModule行到httpd.conf文件,以激活此模块,若此行存在则启用之
-A 与-a类似,但是它增加的LoadModule行前有井号前缀(#)
-e 需要执行编辑操作,可与-a和-A选项配合使用,与-i操作类似,修改httpd.conf文件,但并不安装此模块

3. 重启apache。

 

 

/**********************************************************************************/

最 近想把apache2的proxy代理模加添加进去,但ports树下面无法找到mod_proxy的ports,经网上查找才知道mod_proxy 是本身在apache2源码中自带的,默认安装的时候没有编译进去,需要重新编译和安装整个apache2,并且编译的时候要打开 WITH_PROXY_MODULES选项,但我又不想重新安装apache,所以使用以下步骤达到此目的。
1、        重新编译带有proxy模块的apache,但不安装。
#cd /usr/port/www/apache2
#make WITH_PROXY_MODULES=yes

2、        复制编译好的mod_proxy模块到apache2的存放模块的目录下
#cd /usr/ports/www/apache2/work/httpd-2.0.53/modules/proxy/.libs/
#cp *.so  /usr/local/libexec/apache2/

3、        在http.conf中添加以下代码来加载模块
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so

<IfModule mod_proxy.c>;
ProxyRequests On
<Proxy *>;
    Order deny,allow
    Allow from all
</Proxy>;
</IfModule>;

4、        然后在配置代理
(具体代理配置,请查看apache2中文手册 http://kajaa.bbs.us/ApacheManual/mod/mod_proxy.html)

5、        配置完后,重新启动apache
# /usr/local/etc/rc.d/apache restart

你可能感兴趣的:(apache,职场,休闲,apxs)