apache - Mod_Jk 负载均衡

标签 apache tomcat load-balancing mod-jk

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

[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.

我正在使用适用于 Windows 32 位的 Apache 2.4.23 和 Mod_Jk 1.2.4。

在 Httpd.conf 中:

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中:

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 中:

  <Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker1">     
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

在 Tomcat-2 server.xml 中:

  <Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker2">     
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

最佳答案

您的 workers.properties 文件中存在单字符错误:

workers.list=LoadBalancer

应该是:

worker.list=LoadBalancer

您对 jk-status 工作线程也有同样的问题。

(抱歉,你已经为此自杀了。)

关于apache - Mod_Jk 负载均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38839655/

相关文章:

perl - 使用 Apache 和 mod_perl 提供动态生成图像的正确方法是什么?

tomcat - Liferay 错误 FileNotFoundException 文件名太长

java - 如何在不显示端口的情况下使用域直接访问部署在 aws tomcat 中的 Web 应用程序?

hadoop - 如何从客户端节点运行hadoop balancer?

apache-camel - 故障转移负载均衡器中的死锁

iphone - 用于集成离线和在线 Apache Solr 搜索的 iOS 框架

Apache 服务器 : Editing httpd. conf 文件(权限被拒绝)

html - apache 无法访问 html 子目录并出现 404 错误

tomcat - 根据动态字段更改 url

java - 如何通过负载平衡针对同一数据库运行多个tomcat