Apache HTTP / mod_jk 仅在一名工作人员处于活动状态时工作
Apache HTTP / mod_jk only working when one worker is active
我添加了以下 mod-jk.conf 文件并将其包含在 httpd.conf 中:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /MyApp/* loadbalancer
JkShmFile logs/jk.shm
JkMount /status status
我还添加了以下 workers.properties 文件:
worker.list=loadbalancer,status
worker.node1.port=8009
worker.node1.host=10.1.4.49
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node2.port=8009
worker.node2.host=10.1.4.51
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.status.type=status
当我有两个工作人员时 运行 http 服务器连接到 tocat server/app 但它说与服务器的连接已关闭。但是,如果我干掉其中一名工人(哪一个无关紧要),我就可以连接到 tomcat server/app 就好了。
无论出于何种原因,我的负载均衡器仅在有 1 个活动工作人员时才工作。
当使用具有粘性会话的负载平衡器时,您需要使用与您在 workers.properties 文件中定义的内容相匹配的正确 jvmRoute 来设置每个 tomcat。在我的例子中,我有名为 node1 和 node2 的工作人员,所以我应该期望找到
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">
在 tomcat 地址 10.1.4.49 和
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node2">
在 tomcat 地址 10.1.4.51
我添加了以下 mod-jk.conf 文件并将其包含在 httpd.conf 中:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /MyApp/* loadbalancer
JkShmFile logs/jk.shm
JkMount /status status
我还添加了以下 workers.properties 文件:
worker.list=loadbalancer,status
worker.node1.port=8009
worker.node1.host=10.1.4.49
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node2.port=8009
worker.node2.host=10.1.4.51
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.status.type=status
当我有两个工作人员时 运行 http 服务器连接到 tocat server/app 但它说与服务器的连接已关闭。但是,如果我干掉其中一名工人(哪一个无关紧要),我就可以连接到 tomcat server/app 就好了。
无论出于何种原因,我的负载均衡器仅在有 1 个活动工作人员时才工作。
当使用具有粘性会话的负载平衡器时,您需要使用与您在 workers.properties 文件中定义的内容相匹配的正确 jvmRoute 来设置每个 tomcat。在我的例子中,我有名为 node1 和 node2 的工作人员,所以我应该期望找到
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">
在 tomcat 地址 10.1.4.49 和
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node2">
在 tomcat 地址 10.1.4.51