1.12. 使用 Apache 模块


httpd 服务是一个模块化应用程序,您可以使用多个 Dynamic Shared Objects (DSOs)对其进行扩展。Dynamic Shared Objects 是您可以可以根据需要在运行时动态加载或卸载的模块。您可以在 /usr/lib64/httpd/modules/ 目录中找到这些模块。

1.12.1. 载入 DSO 模块

作为管理员,您可以通过配置服务器应加载哪个模块来选择要包含在服务器中的功能。若要载入特定的 DSO 模块,可使用LoadModule 指令。请注意,由单独的包提供的模块通常在/etc/httpd/conf.modules.d/目录中有自己的配置文件。

先决条件

  • 您已安装了 httpd 软件包。

流程

  1. /etc/httpd/conf.modules.d/ 目录中的配置文件中搜索模块名称:

    # grep mod_ssl.so /etc/httpd/conf.modules.d/*
  2. 编辑在其中找到了模块名称的配置文件,然后取消对模块的 LoadModule 指令的注释:

    LoadModule ssl_module modules/mod_ssl.so
  3. 如果没有找到模块,例如,因为 RHEL 软件包没有提供该模块,请创建一个配置文件,如 /etc/httpd/conf.modules.d/30-example.conf

    LoadModule ssl_module modules/<custom_module>.so
  4. 重启httpd服务:

    # systemctl restart httpd

1.12.2. 编译自定义 Apache 模块

您可以创建自己的模块,并使用 httpd-devel 软件包帮助构建,该软件包包含 include 文件、头文件以及编译模块所需的 APache eXtenSion (pxs)工具。

先决条件

  • 您已安装了 httpd-devel 软件包。

流程

  • 使用以下命令构建自定义模块:

    # apxs -i -a -c module_name.c

验证

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.