19.9.4. 配置 NSAPI 为负载平衡群集

介绍

这个任务配置 NSAPI 连接器将客户请求转发到负载平衡配置里的 JBoss EAP 6 服务器。要将 NSAPI 用作简单的不带负载平衡的 HTTP 连接器,请参考 第 19.9.3 节 “将 NSAPI 配置为 Basic HTTP Connector”

必须具备的条件

过程 19.22. 为负载平衡配置连接器

  1. 定义重定向到 JBoss EAP 6 服务器的 URL 路径。

    注意

    IPLANET_CONFIG/obj.conf 里,行的开头不能有空格,除非是之前行的继续。
    编辑 IPLANET_CONFIG/obj.conf 文件。定位到以 <Object name="default"> 开始的部分,并按下例里展示的格式添加要匹配的每个 URL 模式。jknsapi 字符串引用下一个步骤里将定义的 HTTP 连接器。这个例子展示了使用通配符来进行模式匹配。
    <Object name="default">
    [...]
    NameTrans fn="assign-name" from="/status" name="jknsapi"
    NameTrans fn="assign-name" from="/images(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/css(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/nc(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jmx-console(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jkmanager/*" name="jknsapi"   
    </Object>
    
    
  2. 定义服务每个路径的工作节点。

    继续编辑 IPLANET_CONFIG/obj.conf 文件。在之前步骤里修改的内容(</Object>)的闭合标签之后添加下列内容并按需要进行修改:
    <Object name="jknsapi">
    ObjectType fn=force-type type=text/plain
    Service fn="jk_service" worker="status" path="/jkmanager(/*)"
    Service fn="jk_service" worker="router"
    </Object>	  
    
    
    这个 jksnapi 对象定义了用于服务映射到 default 对象里 name="jksnapi" 映射的每个路径的工作节点。除了映射 /jkmanager/* 的 URL 都被重定向到名为 router 的工作节点。
  3. 定义工作节点和属性。

    IPLANET_CONFIG/connector/ 里创建一个名为 workers.properties 的文件。将下列内容粘贴到文件里,并按需要进行修改。
    # The advanced router LB worker
    # A list of each worker
    worker.list=router,status
    
    # First JBoss EAP server
    # (worker node) definition.
    # Port 8009 is the standard port for AJP
    #
    
    worker.worker01.port=8009
    worker.worker01.host=127.0.0.1
    worker.worker01.type=ajp13
    worker.worker01.ping_mode=A
    worker.worker01.socket_timeout=10
    worker.worker01.lbfactor=3
    
    # Second JBoss EAP server
    worker.worker02.port=8009
    worker.worker02.host=127.0.0.100
    worker.worker02.type=ajp13
    worker.worker02.ping_mode=A
    worker.worker02.socket_timeout=10
    worker.worker02.lbfactor=1
    
    # Define the load-balancer called "router"
    worker.router.type=lb
    worker.router.balance_workers=worker01,worker02
    
    # Define the status worker
    worker.status.type=status
    
    workers.properties 文件使用和 Apache mod_jk 相同的语法。关于哪些选项可用的信息,请参考 第 19.6.5 节 “Apache Mod_jk 工作节点的配置”
    保存文件并退出。
  4. 重启 iPlanet Web Server。

    根据您运行的是 iPlanet Web Server 6.1 还是 7.0,选择下列过程。
    • iPlanet Web Server 6.1

      IPLANET_CONFIG/../stop
      IPLANET_CONFIG/../start
      
    • iPlanet Web Server 7.0

      IPLANET_CONFIG/../bin/stopserv
      IPLANET_CONFIG/../bin/startserv
      
结果

iPlanet Web Server 将您配置的 URL 模式重定向到负载平衡配置里的 JBoss EAP 6 服务器。