阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

httpd添加新模块

146次阅读
没有评论

共计 823 个字符,预计需要花费 3 分钟才能阅读完成。

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2018-02/150766.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计823字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中