我们有一个运行apache 2.2的网络服务器,它连接到另一台服务器中的tomcat 5.5(比如 repserver )。这是通过 ajp1.3 协议完成的,其中 mod_jk workers.properties
文件定义了ajp13工作程序。
workers.properties
文件包含:
ps=\
worker.ajp13.type=ajp13
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=#HOSTNAME
httpd.conf
文件使用以下三行:
JkMount /* ajp13
JkMount /#Link1/* ajp13
JkMount /#Link2/* ajp13
现在我们在 repserver 中有另一个tomcat 7实例,我们也需要webserver连接到这个实例。我在这个tomcat实例中将ajp的监听端口定义为9009
。
其中包含link3
和link4
。
如何定义另一个工作人员来连接这些链接?
答案 0 :(得分:0)
在这种情况下,您需要定义负载均衡器:
将workers.properties更改为:
worker.list=balancer
#lb config
worker.balancer.type=lb
worker.balancer.sticky_session=1
worker.balancer.balance_workers=ajp13,tomcat7
#(ajp13 is not a good name for a worker/server node)
worker.ajp13.type=ajp13
worker.ajp13.port=8009
worker.ajp13.host=#HOSTNAME
worker.tomcat7.type=ajp13
worker.tomcat7.port=9009
worker.tomcat7.host=#IP/HOSTNAME
打开Tomcat 7的server.xml并定义jvmRoute(如果仍未发生,也在Tomcat 5中执行此操作):
<Engine jvmRoute="tomcat7" name="Catalina" ...>
将应用程序映射到新的Tomcat 7:
JkMount /APPLICATION_NAME balancer
JkMount /APPLICATION_NAME/* balancer