22.7. Apache mod_jk HTTP 连接器
Apache mod_jk 是为需要它用于兼容性目的的用户提供的 HTTP 连接器。
JBoss EAP 可以接受 Apache HTTP 代理服务器的工作负载。代理服务器接受来自 Web 前端的客户端请求,并将工作传递给参与 JBoss EAP 服务器。如果启用了粘性会话,则即使服务器不可用,同样的客户端请求始终会发送到同一 JBoss EAP 服务器。
mod_jk 通过 AJP 1.3 协议进行通信。其他协议可用于 mod_cluster 或 mod_proxy。如需更多信息,请参阅 HTTP Connectors 概述。
mod_cluster 是 mod_jk 更高级的负载平衡器,是推荐的 HTTP 连接器。mod_cluster 提供 mod_jk 的所有功能,以及额外的功能。与 JBoss EAP mod_cluster HTTP 连接器不同,Apache mod_jk HTTP 连接器不知道服务器或服务器组上部署的状态,并且无法相应地调整其工作的位置。
如需更多信息,请参阅 Apache mod_jk 文档。
22.7.1. 在 Apache HTTP 服务器中配置 mod_jk 复制链接链接已复制到粘贴板!
安装 JBoss Core Services Apache HTTP Server 或使用 JWS 时,已包括 mod_jk 模块 mod_jk.so,但默认情况下不载入它。
从版本 3.1.0 开始,Apache HTTP 服务器不再发布 JWS。
使用以下步骤在 Apache HTTP 服务器中加载和配置 mod_jk。请注意,这些步骤假设您已导航到 Apache HTTP 服务器的 httpd/ 目录,这可能因您的平台而异。如需更多信息,请参阅 JBoss Core Services Apache HTTP Server 安装指南中的您的平台 的安装说明。
红帽客户也可以使用红帽客户门户网站上的 Load balancer 配置工具,快速为 mod_jk 和其他连接器生成最佳配置模板。请注意,您必须登录才能访问此工具。
流程
配置 mod_jk 模块。
注意示例 mod_jk 配置文件位于
conf.d/mod_jk.conf.sample。您可以通过删除.sample扩展并根据需要修改其内容,来使用此示例而不是创建自己的文件。创建名为
conf.d/mod_jk.conf的新文件。在文件中添加以下配置,确保根据您的需要修改内容。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意JkMount 指令指定哪个 URL Apache HTTP 服务器必须转发到 mod_jk 模块。根据指令的配置,mod_jk 将接收的 URL 发送到正确的 worker。要直接提供静态内容并只使用 Java 应用程序的负载均衡器,URL 路径必须是
/application configured。要将 mod_jk 用作负载平衡器,请使用值 configured,将所有 URL 转发到 mod_jk。除了通用的 mod_jk 配置外,此文件指定了加载
mod_jk.so模块,并定义在哪里查找worker.properties文件。配置 mod_jk worker 节点。
注意示例 worker 配置文件位于
conf.d/workers.properties.sample。您可以通过删除.sample扩展并根据需要修改其内容,来使用此示例而不是创建自己的文件。创建一个名为
conf.d/workers.properties的新文件。在文件中添加以下配置,确保根据您的需要修改内容。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 mod_jk
worker.properties文件和其他高级配置选项的语法的详情,请参阅 mod_jk Worker Properties。(可选)指定一个 JKMountFile 指令。
除了
mod-jk.conf中的 JKMount 指令外,您还可以指定一个文件,其中包含要转发到 mod_jk 的多个 URL 模式。创建
uriworkermap.properties文件。注意示例 URI worker 映射配置文件在
conf.d/uriworkermap.properties.sample中提供。您可以通过删除.sample扩展并根据需要修改其内容,来使用此示例而不是创建自己的文件。创建一个名为
conf.d/uriworkermap.properties的新文件。为每个 URL 模式添加一行,例如:Simple worker configuration file
# Simple worker configuration file /*=loadbalancerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新配置以指向
uriworkermap.properties文件。将以下内容附加到
conf.d/mod_jk.conf:Use external file for mount points. It will be checked for updates each 60 seconds. The format of the file is: /url=worker /examples/*=loadbalancer
# Use external file for mount points. # It will be checked for updates each 60 seconds. # The format of the file is: /url=worker # /examples/*=loadbalancer JkMountFile conf.d/uriworkermap.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
有关配置 mod_jk 的更多信息,请参阅 JWS HTTP 连接器和 负载均衡指南中的配置 Apache HTTP 服务器以加载 mod_jk 部分。
22.7.2. 配置 JBoss EAP 以与 mod_jk 通信 复制链接链接已复制到粘贴板!
mod_jk HTTP 连接器具有单一组件,即 web 服务器载入的 mod_jk.so 模块。此模块接收客户端请求并将其转发到容器,本例中为 JBoss EAP。还必须将 JBoss EAP 配置为接受这些请求并将回复发回到 Web 服务器。
JBoss EAP undertow 子系统需要指定侦听器,才能接受来自的请求并将回复发回到外部 Web 服务器。由于 mod_jk 使用 AJP 协议,因此必须配置 AJP 侦听器。
如果您使用一个默认高可用性配置 ha 或 full-ha,则已经配置了 AJP 侦听器。
具体步骤请参阅 接受来自外部 Web 服务器的请求。