我使用以下配置设置了一个简单的负载均衡器
负载均衡器和tomcat服务器正在工作:
这一切似乎都有效。现在,如果我关闭PC1上的tomcat应用程序服务器,则4和8不再工作:它会抛出503服务不可用页面。负载均衡器似乎无法重定向到PC2。事实上,JK状态管理器页面显示PC2处于ERR/REC状态(PC,但那是因为我在该PC上关闭了Tomcat)。
我在日志中没有看到任何可疑的东西。
接下来,我认为它必须与防火墙有关(阻止端口8009),所以我禁用了所有PC(PC0、PC1和PC2)上的防火墙。但这没有帮助。我假设这排除了防火墙阻止任何东西?
我仍然怀疑有任何东西阻止了连接…
有什么建议吗?
我的版本:
我的配置:
Apache/conf/httpd. conf,添加到底部:
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkMount /examples balancer
JkMount /examples/* balancer
JkMount /jkstatus jkstatus
</IfModule>
Apache/conf/workers.properties:
worker.list=jkstatus, balancer
Declare Tomcat server worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker2.type=ajp13
worker.worker2.host=10.160.85.122
worker.worker2.port=8009
worker.balancer.type=lb
worker.balancer.balance_workers=worker1,worker2
worker.jkstatus.type=status
Tomcat/conf/server. xml,添加:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">
(在PC2jvmRoute="worker2"
上)
请在worker.properties中使用以下配置。
worker.list=loadbalancer,status
worker.template.port=8009
worker.template.type=ajp13
worker.template.ping_mode=A
worker.template.socket_connect_timeout=10000
worker.worker1.reference=worker.template
worker.worker1.host=127.0.0.1
worker.worker2.reference=worker.template
worker.worker2.host=10.160.85.122
worker.loadbalancer.balance_workers=worker1,worker2
worker.loadbalancer.type=lb
worker.loadbalancer.sticky_session=True
worker.status.type=status
Mod_JK:
JkMount /* loadbalancer
JkMount /jkstatus status
感谢您的回复。不幸的是,它没有解决问题。问题仍然没有改变。
我也试图让情况变得简单一些。我将HTTP服务器移动到PC0,只在PC1上运行一个tomcat服务器。同样,问题没有改变。我仍然收到503错误。
httpd. conf
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkMount /examples worker1
JkMount /examples/* worker1
</IfModule>
workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=10.160.85.252
worker.worker1.port=8009