IBM HTTP Server模块扩展方法

  IBM HTTP Server 基于由 Apache Software Foundation 开发的 Apache HTTP Server。所以对IBM HTTP Server进行模块扩展时,能够采用与Apache相似的方式。html

  扩展IBM HTTP Server可使用两种常见方法来构建动态模块:Apache 扩展工具(APXS)和随模块提供的配置脚本。linux

  如下是用于构建动态模块的两种常见方法以下:shell

  • Apache 扩展工具(APXS

   IBM HTTP Server 提供 apxs 工具用于构建动态模块。可使用 apxs 来构建和安装大多数模块。工具

   如下是一个示例:spa

     # /usr/IBMIHS/bin/apxs -ci mod_example.c插件

     要使用 apxs 工具,请验证是否已安装 Perl V5.003 或更高版本,并验证 apxs 第一行上指向 Perl 可执行文件的路径是否正确。请参阅 Apache APXS 以了解更多信息。htm

  • 随模块提供的配置脚本

    某些复杂模块不能直接使用 apxs 来构建,但提供其本身的配置脚原本构建模块。请参阅随模块提供的文档以了解详细的指示信息。检查是否有必须指向 IBM HTTP Server 安装目录的专门配置选项,或是否有随 IBM HTTP Server 安装的 apxs 程序。ci

    某些模块的配置脚本专门检查是否使用了 Apache HTTP Server,但没法检查是否使用了 IBM HTTP Server。在这种状况下,请安装 Apache V2.0.47 并对 Apache V2.0.47 构建该模块,而后将生成的动态模块(mod_example.so)与 IBM HTTP Server 配合使用。开发

    一般咱们会使用APXS来进行扩展,IBM HTTP Serve安装后自带了这个扩展工具。路径为:/opt/IBM/HTTPServer/bin/apxs。使用该扩展工具进行扩展模块的编译时请参照具体模块的说明,由于参数可能不一样。这里以BandWidth为例,该扩展模块用于对IBM HTTP Server文档

进行限速,编译命令为:

           apxs -i -a -c mod_bw.c
  该扩展工具主要执行如下操做:
  一、 编译扩展模块
  二、 将编译后的动态连接库(linux下为so文件)复制到/opt/IBM/HTTPServer/modules目录下
  三、 在httpd文件中添加该模块使IBM HTTP Server启动时加载该模块

  所以,若是插件官方已给出编译好的动态库或者咱们本身已编译过该扩展组件,则无需次次编译,能够手动完成除编译外的工做,固然更好的办法是写一个简单的shell脚本替咱们完成该工做。组件的编译一般须要编译环境,如gcc,这样就能够免去安装环境的繁琐工做。

  值得注意的是,若是使用官方编译好的组件必定要使用与系统匹配的版本,不然将没法运行。例如:SUSE系统官方就没有提供相应的动态库的。

  若是在IBM HTTP Server上构建扩展模块遇到问题,能够在同一台机器上验证是否可使用 Apache HTTP Server 来正确构建和操做。若是在使用 Apache HTTP Server 也遇到问题,那么意味着这个扩展模块不能和 IBM HTTP Server 配合使用。

相关文章
相关标签/搜索