WildFly8.1(JBoss)+mod_cluster(Apache)群集配置

继上次使用mod_jk传导Apache+JBoss群集配置后,。因为JBoss5.1启动太慢,于是我开始尝试用最新的WildFly8.1构造(WildFly那是,JBoss。在JBoss7之后改名)。

系统环境:

    Windows 7 SP1(Windows Server 2003已測试。WildFly会有未知问题)
软件环境:
    JDK 7+(一定要使用7以上,否则WildFly不支持)
    WildFly 8.1.0(http://wildfly.org/downloads/)
    mod_cluster 1.2.6(http://mod-cluster.jboss.org/downloads/1-2-6-Final-bin)
    注意:mod_cluster有两个windows httpd+ssl的版本号下载。相应32位和64位

一、进行WildFly的domain模式配置
    这里使用两个server节点进行配置:
        master:192.168.0.10。
        slave1:192.168.0.11(同理能够配置多个slave)
    1、分别在两台server上解压WildFly 8.1.0;
    2、master配置(下面未说明目录的xml均在domain/configuration下)
        (1)改动domain.xml文件的<server-groups>节点:
            进行server集群的server组设置。
            注意:这里的profile和socket-binding-group配置,都使用full-ha模式(后期使用mod_cluster须要该模式)。

<server-groups>
    <!-- 配置服务器组 -->
    <server-group name="main-server-group" profile="full-ha">
        <jvm name="default">
            <heap size="64m" max-size="512m"/>
        </jvm>
        <socket-binding-group ref="full-ha-sockets"/>
    </server-group>
</server-groups>

        (2)改动domain.xml文件的<cluster-password>节点:
            注意:这里有两种改动方式,方式一是设置username与password(用于集群间的通信安全),方式二是禁用掉安全策略。
<!-- <cluster-user>jms-user</cluster-user>
<cluster-password>jms-pass</cluster-password> -->
<security-enabled>false</security-enabled>

        (3)改动host.xml文件的<interfaces>节点
            替换全部的127.0.0.1为master的192.168.0.10。

<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:192.168.0.10}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:192.168.0.10}"/>
    </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:192.168.0.10}"/>
    </interface>
</interfaces>

        (4)改动host.xml文件的<servers>节点:
            进行master中server实例的设置。


            注意:group即为domain.xml中声明的服务器组。这里的group必须是在domain.xml文件里出现过的。

<servers>
    <server name="master-one" group="main-server-group" auto-start="true">
        <socket-bindings port-offset="0"/>
    </server>
    <server name="master-two" group="main-server-group" auto-start="true">
        <socket-bindings port-offset="100"/>
    </server>
</servers>

        (5)使用bin/add-user.bat加入管理员账号:
            加入一个用户,username为master。password为123123。设置的最后阶段会询问“Is this new user going to be used for one AS process to connect to another AS process?

”这里选no就可以。
            注意:也能够使用其它名字的用户。



    2、slave1配置(下面未说明目录的xml均在domain/configuration下)
        (1)改动domain.xml文件的<server-groups>节点:
            删除该配置中的所有服务器组,将该节点变为空节点就可以。

<server-groups />

        (2)改动domain.xml文件的<cluster-password>节点:
            这里的配置和master一致就可以。

<!-- <cluster-user>jms-user</cluster-user>
<cluster-password>jms-pass</cluster-password> -->
<security-enabled>false</security-enabled>

        (3)备份原host.xml,复制一份host-slave.xml重命名为host.xml。
        (4)改动新host.xml文件的<domain-controller>节点:
            这里设置master地址192.168.0.10。
<domain-controller>
    <remote host="${jboss.domain.master.address:192.168.0.10}" ... />
</domain-controller>

        (5)改动新host.xml文件的<interfaces>节点:
            替换全部的127.0.0.1为slave1的192.168.0.11。
<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:192.168.0.11}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:192.168.0.11}"/>
    </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:192.168.0.11}"/>
    </interface>
</interfaces>

        (6)改动新host.xml文件的<servers>节点:
            进行slave1中服务器实例的设置。
<servers>
    <server name="slave1-one" group="main-server-group" auto-start="true">
        <socket-bindings port-offset="0"/>
    </server>
    <server name="slave1-two" group="main-server-group" auto-start="true">
        <socket-bindings port-offset="1"/>
    </server>
</servers>

        (7)使用master的bin/add-user.bat为slave1加入账号:
            加入一个用户,username为slave1。password为123123。最后的询问选择yes,之后便会出现一行文字,当中包含一段xml,类似<secret value="MTIzMTIz" />。须要记下来。
            注意:该用户在master上。
        (8)改动host.xml文件的<host>节点:
            增加一个属性name="slave1"(这个name必须和上一步在master中创建的slave1的username一致)。
<host name="slave1" xmlns="urn:jboss:domain:2.1">

        (9)改动host.xml文件的<server-identities>节点:
            改动连接master的验证设置(加入slave1的用户时的xml)。

<server-identities>
    <secret value="MTIzMTIz" />
</server-identities>
    3、依照上述配置后,依次在master和slave1中,使用bin/domain.bat启动服务器。待所有启动后,訪问http://192.168.0.10:9990/,输入masterusername和password,进入界面,就可以查看服务器的执行状况。


二、进行mod_cluster的集群和负载均衡设置
    1、在masterserver上解压mod_cluster,执行bin/installconf.bat,生成默认的配置文件;
    2、改动conf/httpd.conf文件:
        (1)Listen 8000改动为Listen 80(监听80port)
        (2)#ServerName localhost:8000改动为ServerName 192.168.0.10:80(解除凝视,改动为master地址)
        (3)改动最下方的<IfModule manager_module>节点(改动地址和訪问限制):
<IfModule manager_module>
    Listen 192.168.0.10:6666
    ManagerBalancerName mycluster
    <VirtualHost 192.168.0.10:6666>
        <Location />
            Order deny,allow
            Deny from all
            Allow from all
        </Location>

        KeepAliveTimeout 300
        MaxKeepAliveRequests 0
        AdvertiseFrequency 5
        EnableMCPMReceive

        <Location /mod_cluster_manager>
            SetHandler mod_cluster-manager
            Order deny,allow
            Deny from all
            Allow from all
        </Location>

    </VirtualHost>
</IfModule>

    3、依次启动mod_cluster的httpdserver,masterserver的domain.bat,slave1server的domain.bat。訪问http://192.168.0.10:6666/mod_cluster_manager你可以看到一个群集的状态。

版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-20 08:20  hrhguanli  阅读(871)  评论(0编辑  收藏  举报