【问题标题】:Apache web server multiple workersApache Web 服务器多个工作人员
【发布时间】:2015-09-02 02:44:59
【问题描述】:

我们有一个运行 apache 2.2 的网络服务器,它连接到另一台服务器中的 tomcat 5.5(例如,repserver)。这是通过 ajp1.3 协议完成的,其中 mod_jk workers.properties 文件定义了一个 ajp13 worker。

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 实例,我们也需要网络服务器连接到这个实例。在这个 tomcat 实例中,我已将 ajp 的侦听端口定义为 9009。 这包含link3link4

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

【问题讨论】:

    标签: apache tomcat ajp


    【解决方案1】:

    在这种情况下你需要定义一个负载均衡器:

    将您的 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 2022-12-15
      • 2016-11-06
      • 2023-03-11
      • 2014-08-31
      • 2020-01-11
      • 2013-05-18
      相关资源
      最近更新 更多