httpd添加新模块

Posted 骏马金龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpd添加新模块相关的知识,希望对你有一定的参考价值。

apache httpd系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html


有些时候因为特殊需求,需要在已安装的httpd上添加一些额外的模块,这时候要使用httpd-devel中的apxs工具。要使用这个扩展机制,你的平台必须支持DSO特性,即要求Apache httpd必须内建了mod_so模块。

apxs添加模块的方法很简单,以下是几个可能用上的选项。

-c mod_foo.c:将c文件编译为.so文件。
-i:表示安装一个或多个模块到apache服务所在目录的modules目录中。
-a:表示自动在httpd.conf中加入LoadModule行。
-A:表示自动在httpd.conf中加入#LoadModule行,也就是说安装了模块但是不启用。
-n:显式指定-i需要安装的模块名。

例如:添加mod_proxy.so模块。

cd httpd-2.4.23/modules  # 进入到httpd源码的解压目录
apxs -c -i -A proxy/mod_proxy.c proxy/proxy_util.c

安装成功后的最后几行会告诉你要去修改配置文件,看情况是否要修改LoadModule指令来加载模块。

有时候添加一个模块后重启失败了并提示undefined Symbol,说明还需添加另外相关的所需模块。

例如,上面如果只安装apxs -c -i -a proxy/mod_proxy.c时重启httpd。

Starting httpd: httpd: Syntax error on line 117 of /etc/apache/httpd.conf: Cannot load modules/mod_proxy.so into server: /usr/local/apache/modules/mod_proxy.so: undefined symbol: ap_proxy_strmatch_domain

这说明还需要装相关的devel或者util对应的模块。

以上是关于httpd添加新模块的主要内容,如果未能解决你的问题,请参考以下文章

sublime text3 添加新片段

从其他片段添加新的 RecyclerView 项

Yarn: 一个新的JavaScript模块管理器

httpd2.4新特性

httpd 2.2.15 添加流媒体模块

Httpd-2.4的新特性