gpt4 book ai didi

apache - 使用 mod_jk 负载平衡 3 个 tomcat 7 个实例给出 'Could not find worker'

转载 作者:行者123 更新时间:2023-11-28 23:33:35 28 4
gpt4 key购买 nike

我在查看其他几篇似乎有相同问题的帖子后发布了这篇文章,但我无法在其中任何一篇的帮助下解决我的问题。

情况:-我使用的是 Windows 8 专业版-我在本地主机上安装了 3 个 tomcat 实例-我安装了 Apache 2.4 和 mod_jk 用作我的负载均衡器

我想要实现的是:-Goto localhost/APPNAME(这是 Apache 2.4),Apache 现在会将我的调用重定向到 3 个 Tomcat 7 实例之一,并给我请求的页面。

这是我第一次这样做,所以我可能忘记了什么地方。我现在拥有的是:

Tomcat 7 server.xml 看起来像这样:

第一个 Tomcat 有:

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

第二个 Tomcat 有:

<Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

第三个 Tomcat 有:

<Connector port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8445" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat3">

对于我添加到 httpd.conf 的 Apache 服务器:LoadModule jk_module modules/mod_jk.so

<IfModule jk_module>
Include conf/extra/mod_jk.conf
</IfModule>

mod_jk.conf 看起来像这样:

JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/jk-runtime-status
JkLogStampFormat "[%b %d %Y - %H:%M:%S] "
JkRequestLogFormat "%w %V %T"

JkMountCopy All
JkMount /* balancer
#JkMount /* tomcat1
#JkMount /* tomcat2
#JkMount /* tomcat3

最后,我的 workers.properties 文件如下所示:

worker.tomcat1.type=ajp13
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.lbfactor=1

worker.tomcat2.type=ajp13
worker.tomcat2.port=8010
worker.tomcat2.host=localhost
worker.tomcat2.lbfactor=1

worker.tomcat3.type=ajp13
worker.tomcat3.port=8011
worker.tomcat3.host=localhost
worker.tomcat3.lbfactor=1

#configure the loadbalancer
worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1,tomcat2,tomcat3
worker.balancer.method=B
worker.balancer.sticky_session=True

worker.stat.type=status

现在我首先启动了所有 mu tomcat 实例,然后我启动了我的 Apache。现在它将在 mod_jk.log 中给我以下消息:

[Dec 12 2014 - 12:23:58] [3180:8452] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
[Dec 12 2014 - 12:23:58] [3180:8452] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'balancer' in uri map post processing.
[Dec 12 2014 - 12:23:58] [3180:8452] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
[Dec 12 2014 - 12:23:58] [3180:8452] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'balancer' in uri map post processing.
[Dec 12 2014 - 12:23:58] [9912:8284] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
[Dec 12 2014 - 12:23:58] [9912:8284] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'balancer' in uri map post processing.
[Dec 12 2014 - 12:23:59] [9912:8284] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
[Dec 12 2014 - 12:23:59] [9912:8284] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'balancer' in uri map post processing.

这当然意味着我不工作。任何人都可以帮助我并告诉我我做错了什么吗?

最佳答案

好的,我让它工作了。看来我使用了导致问题的 Apache 服务器。

我在这个论坛上搜索得越来越具体,发现了这篇文章: httpd AND Tomcat with mod_jk on Port 80 test fails

感谢这个答案,我决定也尝试下载不同的 Apache。

从我使用的 Apache 站点下载到 Apache Haus 版本的 Apache for Windows。我无法让它工作。但是,我从网站下载了另一个版本,复制了我的所有设置,现在可以使用了!

关于apache - 使用 mod_jk 负载平衡 3 个 tomcat 7 个实例给出 'Could not find worker',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442675/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com