Apache Web服务器多个工作者

时间:2015-06-17 03:30:54

标签: apache tomcat ajp

我们有一个运行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。 其中包含link3link4

如何定义另一个工作人员来连接这些链接?

1 个答案:

答案 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