linux Apache添加扩展模块

安装完Apache发现里面缺一些模块,这时候需要来向已经安装好的Apache中添加模块。接下来以添加代理模块为例。1,Apache2.2.3目录

Apache2.2.3安装在这里就不详细介绍了。安装详情:Apache安装详情

本人Apache2.2.3安装在/usr/local/apache。

Apache源码目录/usr/local/httpd-2.2.3。

2,添加代理模块

要为已运行的apache添加mod_proxy模块,先定位到apache源码中modules/proxy目录。然 后使用apxs进行编译安装:

A),添加mod_proxy.so

/usr/local/apache/bin/apxs -i -c -a mod_proxy.c proxy_util.c

安装成功以后将在apache的modules目录下生成mod_proxy.so文件,并且在httpd.conf中加入 了一行:LoadModule proxy_module modules/mod_proxy.so

如mod_proxy.c错误信息: httpd: Syntax error on line19of/usr/local/apache/conf/httpd.conf: Cannot not load/usr/local/apache/modules/mod_proxy.so into server: /usr/local/apache/ apxs -i -a -c mod_proxy.c proxy_util.c问题解决。因为proxy_util.c是基础模块,所以 必 须先安装。上面命令中农已经加了,不会出现这个问题。

B),添加mod_proxy_http.so

/usr/local/apache/bin/apxs -i -c -a mod_proxy_http.c proxy_util.c

安装成功以后将在apache的modules目录下生成mod_proxy.so文件,并且在httpd.conf中加入 了一行:LoadModule proxy_http_module modules/mod_proxy_http.so

C),添加mod_proxy_ajp.so

/usr/local/apache/bin/apxs -c -i -a mod_proxy_ajp.c ajp*.c

注意一定要加ajp*c,这些事和mod_proxy_ajp.c相关的,否则会报错:

httpd: Syntax error on line 60 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_proxy.so into server: /usr/local/apache/modules/mod_proxy.so: undefined symbol: ajp_send_header

3,重新启动Apache.

/usr/local/apache/bin/apachectl start

apxs选项说明:

-c 执行编译操作

-i 安装操作,安装一个或多个动态共享对象到服务器的modules目录

-a 自动增加一个LoadModule行到httpd.conf文件,以激活此模块,若此行存在则启用之

-A 与-a类似,但是它增加的LoadModule行前有井号前缀(#)

-e 需要执行编辑操作,可与-a和-A选项配合使用,与-i操作类似,修改httpd.conf文件,但并不安装此模块

linux Apache添加扩展模块

相关推荐