Apache httpd 2.2.x + mod_jk 1.2.30 + tomcat 6错误:在uri地图后期处理中找不到名为“XXXXX”的工人

问题描述 投票:2回答:2

在使用两个Tomcat实例设置负载均衡器时出现以下错误:

[info] mod_jk.c(3189):mod_jk / 1.2.30 initialized [error] jk_uri_worker_map.c(506):在uri map post处理中找不到名为'loadmanager'的worker。

以下是我的配置设置:

httpd.conf更改

# Include mod_jk configuration file
Include conf/mod_jk.conf

mod_jk.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 /TestLB1/ loadmanager    
JkMount /TestLB1/* loadmanager    
JkShmFile logs/jk.shm

workers.properties

worker.list=loadmanager

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

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

worker.loadmanager.type=lb
worker.loadmanager.balance_workers=tomcat1,tomcat2
worker.loadmanager.sticky_session=True

在Tomcat的server.xml中,我还将jvmRoute属性设置为Engine

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

这两个Tomcat实例分别在AJP端口18081和28081上正常运行。

但是在启动Apache httpd.exe时,mod_jk日志文件总是显示上述错误,当我尝试通过http://localhost/TestLB1访问我的Web应用程序时,没有任何问题出现。

任何方案?

apache tomcat6 mod-jk
2个回答
3
投票

遇到了问题....问题在于我正在编辑我的worker.properties文件的文本编辑器,它为文件添加了一些特殊的字符。当我在记事本中打开文件时,我找到了它们。删除所有不需要的字符后,每一件事都很完美。


0
投票

使用像notepad ++这样的优秀文本编辑器创建worker.properties文件。不这样做可能会添加一些看不见的特殊字符和workers.properties文件不会被mod_jk解析。

© www.soinside.com 2019 - 2024. All rights reserved.