【问题标题】:Load Balancing using Apache mod_jk.c (3791): missing uri map for localhost使用 Apache mod_jk.c (3791) 进行负载平衡:缺少 localhost 的 uri 映射
【发布时间】:2015-03-03 23:54:19
【问题描述】:

出于要求,我需要为 Web 应用程序进行负载平衡。

我正在努力解决以下问题。请看日志

[Tue Jan 06 15:20:06 2015] [10548:14728] [debug] jk_shm_attach::jk_shm.c (337): Attached shared memory memory [1] size=3072 free=0 addr=0x50aa80
[Tue Jan 06 15:20:06 2015] [10548:14728] [debug] jk_child_init::mod_jk.c (3266): Initialized mod_jk/1.2.40
[Tue Jan 06 15:20:55 2015] [10548:11696] [debug] jk_translate::mod_jk.c (3623): missing uri map for localhost:/eimsgoed
[Tue Jan 06 15:20:55 2015] [10548:11696] [debug] jk_map_to_storage::mod_jk.c (3791): missing uri map for localhost:/eimsgoed
[Tue Jan 06 15:21:56 2015] [10548:11696] [debug] jk_translate::mod_jk.c (3623): missing uri map for localhost:/eimsgoed
[Tue Jan 06 15:21:56 2015] [10548:11696] [debug] jk_map_to_storage::mod_jk.c (3791): missing uri map for localhost:/eimsgoed

/eimsgoed是我在tomcat实例中部署的应用。

请查看我的workers.properties 文件

==============================

worker.list=balancer

worker.tomcat1.type=ajp13
worker.tomcat1.port=9004
worker.tomcat1.host=localhost

worker.tomcat2.type=ajp13
worker.tomcat2.port=9024
worker.tomcat2.host=localhost

worker.tomcat3.type=ajp13
worker.tomcat3.port=9012
worker.tomcat3.host=localhost


worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1,tomcat2,tomcat3

worker.list=jkstatus
worker.jkstatus.type=status

我的 httpd.conf 文件

=============

LoadModule jk_module modules/mod_jk.so

# Path to workers.properties
JkWorkersFile conf/workers.properties

# Path to jk logs
JkLogFile logs/mod_jk.log

# Jk log level [debug/error/info]
JkLogLevel debug

# Jk log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions for forwarding
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"



JkMount /eimsgoed balancer
JkMount /status jkstatus 

我的所有 3 个 tomcat 实例的 server.xml

================================

tomcat 1 个实例

<!-- Define an AJP 1.3 Connector on port 8009 -->
 <Connector port="9004" protocol="AJP/1.3" redirectPort="9003" />

 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

tomcat 2 实例

<!-- Define an AJP 1.3 Connector on port 8009 -->
 <Connector port="9024" protocol="AJP/1.3" redirectPort="9023" />
 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

tomcat 3 实例

<!-- Define an AJP 1.3 Connector on port 8009 -->
 <Connector port="9012" protocol="AJP/1.3" redirectPort="9011" />

 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat3">

我在 URI 中哪里出错了?

[Tue Jan 06 15:21:56 2015] [10548:11696] [debug] jk_map_to_storage::mod_jk.c (3791): missing uri map for localhost:/eimsgoed

有关信息,我使用的是 Tomcat 7、Apache HTTP Server 2.4.10 和 Tomcat Mod_JK 连接器 1.2.40、Windows 7 操作系统

请就这个问题给我建议。

【问题讨论】:

    标签: tomcat


    【解决方案1】:

    我在配置中看不到任何错误。可能是 Apache 2.4 和 JK 的问题。

    还有另一种配置负载均衡器的方法,使用 mod_proxy:

    https://serverfault.com/questions/604615/apache-mod-proxy-balancer-tomcat-load-balancing-should-not-redirect-until-we

    这里:

    http://chandank.com/application-server/tomcat/tomcat-load-balancer-using-mod-proxy-and-session-sticky

    【讨论】:

    • 谢谢马库斯。我目前正在按照您的建议工作。
    • @SaravananSivaji 你成功了吗..你能建议我吗..即使我也有同样的错误
    【解决方案2】:

    我遇到了同样的问题,而且我的配置几乎和你一样。

    我在httpd.conf 文件中添加了VirtualHost 映射,它开始工作。

    <VirtualHost *:443>
      ServerName localhost
      JKMount /TCSession/* lb
    </VirtualHost>
    

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2012-06-04
      • 1970-01-01
      • 2018-12-20
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2019-10-20
      相关资源
      最近更新 更多