zoukankan      html  css  js  c++  java
  • 关于JBoss EAP配置文件中interface配置的一些总结

    一、概述

    在JBoss EAP的各种配置文件(包括standalone.xml、domain.xml、host.xml等等)中,interface部分是不太起眼的一部分。看起来比较简单,一般情况下也无须修改,但如果不小心一样会在实践中造成相当的困扰。本文对这部分进行一些经验性总结,至于更深层次的原理探究,一时还顾不上。

    先做个铺垫,JBoss EAP已经预设置了四种interface,其绑定IP缺省为127.0.0.1,如下:

    <interfaces>
      <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
      </interface>
      <interface name="public">
        <inet-address value="${jboss.bind.address:127.0.0.1}"/>
      </interface>
      <interface name="private">
        <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
      </interface>
      <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
      </interface>
    </interfaces>

    二、standalone.xml的配置

    最简单也是最常用的JBoss EAP使用场景,是一个服务器上使用standalone.xml来运行单独的实例。此时,关于interface的配置只包括management和public两项:

    <interfaces>
      <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
      </interface>
      <interface name="public">
        <inet-address value="${jboss.bind.address:127.0.0.1}"/>
      </interface>
    </interfaces>

    不能简单地添加private和unsecure项,也不能将IP修改为实际IP,否则启动JBoss实例时会出错。

    三、standalone-ha.xml或standalone-full-ha.xml的配置

    通常用到standalone-ha.xml或standalone-full-ha.xml的场景比较少见,不过实际上用它们同样可以组建JBoss EAP集群,只不过比起domain模式来要麻烦一些。具体方法是:在各节点上采用相同的配置和部署,然后linux平台以 standalone.sh -c standalone-ha.xml(或standalone-full-ha.xml),而在windows平台以standalone.bat -c standalone-ha.xml(或standalone-full-ha.xml)启动。

    另外,如果想在standalone.xml的基础上添加interface项或更改绑定IP,不妨在这两个配置文件的基础上修改。

    以7.x版的standalone-ha.xml为例,关于interface的缺省设置为:

        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:127.0.0.1}"/>
            </interface>
            <interface name="private">
                <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
            </interface>
        </interfaces>

    而standalone-full-ha.xml中还报括了unsecure项,缺省IP也是127.0.0.1。

    如果需要用standalone-ha.xml或standalone-full-ha.xml配置为JBoss集群,则绑定IP均需改为服务器各自的实际IP。如果不需要组成集群,则改与不改均可。

    四、domain.xml的配置

    通常情况下,组件JBoss集群大都使用domain.xml + host.xml的配置。

    对于6.x和7.x版,domain.xml中关于interface的配置有所不同:

        <!-- 6.x的缺省配置 -->
        <interfaces>
            <interface name="management"/>
            <interface name="public"/>
            <interface name="unsecure"/>
        </interfaces>
    
        <!-- 7.x的缺省配置 -->
        <interfaces>
            <interface name="management"/>
            <interface name="public"/>
            <interface name="private">
                <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>

    不管是哪一种,都不需要对其进行修改。

    五、host.xml的配置

    host.xml(host-master.xml和host-slave.xml同理)的情况要复杂一些。

    对于6.x版,缺省配置为:

        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
               <inet-address value="${jboss.bind.address:127.0.0.1}"/>
            </interface>
            <interface name="unsecure">
                <!-- Used for IIOP sockets in the standard configuration.
                     To secure JacORB you need to setup SSL -->
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>

    如果要组成集群或从开通外部访问,需将三处127.0.0.1修改为服务器的实际IP。注意,这里没有private项。

    对于7.x,缺省配置只包含management和public两项,为:

        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:127.0.0.1}"/>
            </interface>
        </interfaces>

    如果只是单纯地开通外部访问,将两处127.0.0.1修改为服务器的实际IP即可。

    但如果还要组成集群(使用ha或full-ha的profile),则必须增加private项(为保险unsecure项也一起增加),否则将来无法实现负载均衡和session复制。另外,别忘记将此处所有的127.0.0.1修改为服务器的实际IP。

    六、总结

    再次吐个槽:JBoss EAP的资料太少,完全靠自己摸索,效率不高。

  • 相关阅读:
    IntelliJ IDEA 中自定义模板代码的缩写
    小猪评《101次求婚》——屌丝是否能够逆袭女神
    C#委托的理解
    ASP.NET MVC权限验证
    ASP.NET MVC 中表单的Encode及Decode
    JQuery方式验证表单和AJAX提交
    C# LIST 的各种加减
    小猪决定做一件尝试
    ASP.NET 将excel导入 sql server
    从客户端XXX中检测到有潜在危险的 Request.Form值——终极解决方案
  • 原文地址:https://www.cnblogs.com/wggj/p/9506779.html
Copyright © 2011-2022 走看看