首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mod_Jk负载均衡

Mod_Jk负载均衡
EN

Stack Overflow用户
提问于 2016-08-09 06:50:57
回答 1查看 1.6K关注 0票数 2

我尝试了所有可能的方法来使Mod_jk工作,但没有成功。我尝试了多个Apache下载,尝试了我能找到的所有建议,包括检查特殊字符...Apache和Tomcat都像预期的那样工作,但仍然没有负载平衡,我一直收到这些错误消息。有什么想法吗?

代码语言:javascript
复制
[1640:3636] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
[1640:3636] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'LoadBalancer' in uri map post processing.
[1640:3636] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'jk-status' in uri map post processing.

我使用的是32位的Apache2.4.23和Mod_Jk 1.2.4。

在Httpd.conf中:

代码语言:javascript
复制
Listen 10.x.x.x:80
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
        JkWorkersFile conf/workers.properties

        JkShmFile logs/mod_jk.shm
        JkLogFile logs/mod_jk.log
        JkLogLevel info

        JkWatchdogInterval 60

        <Location /jk-status>
            JkMount jk-status
            Order deny,allow
            Deny from all
            Allow from 10.4.81.62
        </Location>

        <Location /jk-manager>
            JkMount jk-manager
            Order deny,allow
            Deny from all
            Allow from 10.4.81.62
        </Location>


        # Configure applications
        JkMount /Geoserver/* LoadBalancer

</IfModule>

在workers.properties中:

代码语言:javascript
复制
workers.list=jk-status
worker.jk-status.type=status

worker.list=jk-manager
worker.jk-manager.type=status

workers.list=LoadBalancer
worker.LoadBalancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10

worker.worker1.type=ajp13
worker.worker1.host=10.x.x.x
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker1.activation=A
worker.worker1.socket_connect_timeout=5000
worker.worker1.socket_keepalive=true

worker.worker2.type=ajp13
worker.worker2.host=10.x.x.x
worker.worker2.port=8010
worker.worker2.lbfactor=1
worker.worker2.activation=A
worker.worker2.socket_connect_timeout=5000
worker.worker2.socket_keepalive=true

worker.LoadBalancer.balance_workers=worker1,worker2

在Tomcat-1 server.xml中:

代码语言:javascript
复制
  <Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker1">     
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

在Tomcat-2 server.xml中:

代码语言:javascript
复制
  <Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker2">     
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-10 11:57:15

您的workers.properties文件中有一个单字符错误:

代码语言:javascript
复制
workers.list=LoadBalancer

应该是:

代码语言:javascript
复制
worker.list=LoadBalancer

jk-status worker也有同样的问题。

(很抱歉,你一直在为此自杀。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38839655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档