使用两个Tomcat实例设置负载均衡器时出现以下错误:
[info] mod_jk.c(3189):mod_jk / 1.2.30 initialized [error] jk_uri_worker_map.c(506):在uri地图后期处理中找不到名字为“loadmanager”的工人。
以下是我的configuration设置:
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应用程序时,什么都没有出现。
任何解决scheme
得到了问题….问题是在我编辑我的worker.properties文件的文本编辑器,它增加了一些特殊的字符文件。 我发现他们,当我只在笔记本中打开文件。 删除所有不需要的字符后,完美的作品。