zoukankan      html  css  js  c++  java
  • httpd添加新模块

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

    [root@localhost ~]# cd /root/httpd-2.4.29/modules
    [root@localhost modules]# apxs -c -i -A proxy/mod_proxy.c proxy/proxy_util.c

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

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

    chmod 755 /usr/local/apache/modules/mod_proxy.so
    [preparing module `proxy' in /etc/apache/httpd.conf]

    例如,上面如果只安装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对应的模块。

  • 相关阅读:
    [转]scp用法
    进入docker登录psql数据库对特定表进行操作
    [整]swp文件的处理
    shift+zz保存并退出
    [转]python变量作用域的有趣差别
    git 删除分支操作
    混用参数命名方式,确保顺序在命名之前
    [译]Python面试中8个必考问题
    《浪潮之巅》与我的职业选择
    EBS 用户及其联系人的失效时间
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12049541.html
Copyright © 2011-2022 走看看