httpd添加新模块

发布日期:2018-02-24    浏览次数:781

有些时候因为特殊需求,需要在已安装的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对应的模块。

 

回到Linux系列文章大纲:http://www.wyxxw.cn/blog-detail-22-25-555
回到网站架构系列文章大纲:http://www.wyxxw.cn/blog-detail-22-25-671
回到数据库系列文章大纲:http://www.wyxxw.cn/blog-detail-22-25-670

本文网址:https://www.wyxxw.cn/blog-detail-22-25-699.html

返回列表

非特殊说明,本文版权归原作者所有,转载请注明出处

提示:本站所有资源仅供学习与参考,请勿用于商业用途。图片来自互联网~如侵犯您的权益,请联系QQ:1067507709.

提示:转载请注明来自:http://www.cnblogs.com/f-ck-need-u/p/8413455.html 。 转载人:momo