Show Table of Contents
19.6.5. Apache Mod_jk 工作节点的配置
workers.properties 文件定义 mod_jk 传递客户请求的工作节点的行为。在 Red Hat 企业版 Linux 里,这个文件位于 /etc/httpd/conf/workers.properties。workers.properties 文件定义不同的 Servlet 容器的位置,以及在它们之间如何平衡负载。
这个配置分成三个部分。第一部分处理全局属性,它应用于所有的工作节点。第二部分包含应用于专有节点的设置。第三部分包含应用于专有的采用负载平衡的节点。
属性的常用结构是
worker.WORKER_NAME.DIRECTIVE,这里的 WORKER_NAME 是工作节点的唯一名称,而 DIRECTIVE 是应用在工作节点上的设置。
Apache Mod_jk 工作节点的配置参考
节点模版指定默认的 per-node 设置。您可以在节点设置里覆盖模版。示例模版位于 例 19.5 “workers.properties 示例文件”。
表 19.11. 全局属性
| 属性 | 描述 |
|---|---|
| worker.list | mod_jk 使用的工作节点列表。这些工作节点可用来接收请求。 |
表 19.12. 基于每个工作节点的属性
| 属性 | 描述 |
|---|---|
| type |
工作节点的类型。默认类型是
ajp13。其他可能的值还有 ajp14、lb 和 status。
关于这些指令的详情,请参照 http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html 里的 Apache Tomcat Connector AJP Protocol 参考。
|
| balance_workers |
指定负载平衡器必须管理的工作节点。对于同一个负载平衡器您可以多次使用这个指令。它由一个用逗号隔开的工作节点名列表组成。它是根据每个工作节点而不是节点设置的。它影响该工作节点类型的所有节点。
|
| sticky_session |
指定来自相同会话的请求是否总是路由至相同的工作节点。默认值是
0,表示禁用 Sticky Session。要启用 Sticky Session,请将其设置为 1。Sticky Session 通常应该被启用,除非所有的请求都是 stateless 的。这是针对每个工作节点而非节点设置的。它影响该工作节点类型的所有节点。
|
表 19.13. 基于每个节点的属性
| 属性 | 描述 |
|---|---|
| host |
工作节点的主机名和 IP 地址。工作节点必须支持
ajp 协议栈。默认值是 localhost。
|
| port |
侦听定义的协议请求的远程服务器实例的端口号码。默认值是
8009,这也是 AJP13 工作节点的默认侦听端口。AJP14 工作节点的默认端口是 8011。
|
| ping_mode |
连接在哪些条件下会检测网络状态。探测仪用空的 AJP13 数据包进行 CPing,期望有 CPong 回应。使用指令标记组合来指定条件。这些标记不是用逗号或空格分隔的。 ping_mode 可以是任何
C、P、I 和 A 的组合。
|
| ping_timeout, connect_timeout, prepost_timeout, connection_ping_interval |
连接探测仪设置的超时值。这些值的单位是毫秒,
ping_timeout 的默认值是 10000。
|
| lbfactor |
为独立工作节点指定负载因子,且只应用于负载平衡器的成员工作节点。这便于为高性能的服务器赋予更多的工作负载。要赋予某个工作节点 3 倍的默认负载,将其设置为
3:worker.my_worker.lbfactor=3。
|
例 19.5. workers.properties 示例文件
worker.list=node1, node2, node3
worker.balancer1.sticky_sessions=1
worker.balancer1.balance_workers=node1
worker.balancer2.sticky_session=1
worker.balancer2.balance_workers=node2,node3
worker.nodetemplate.type=ajp13
worker.nodetemplate.port=8009
worker.node1.template=nodetemplate
worker.node1.host=localhost
worker.node1.ping_mode=CI
worker.node1.connection_ping_interval=9000
worker.node1.lbfactor=1
worker.node2.template=nodetemplate
worker.node2.host=192.168.1.1
worker.node2.ping_mode=A
worker.node3.template=nodetemplate
worker.node3.host=192.168.1.2
Apache mod_jk 的进一步的配置细节超出了本文档的范畴。更多的说明请参考 http://tomcat.apache.org/connectors-doc/ 上的 Apache 文档。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.