首页 > 代码库 > WildFly8.1(JBoss)+mod_cluster(Apache)集群配置

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模式配置
    这里使用两个服务器节点进行配置:
        master:192.168.0.10;
        slave1:192.168.0.11(同理可以配置多个slave)
    1、分别在两台服务器上解压WildFly 8.1.0;
    2、master配置(以下未说明文件夹的xml均在domain/configuration下)
        (1)修改domain.xml文件的<server-groups>节点:
            进行服务器集群的服务器组设置。
            注意:这里的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>节点:
            注意:这里不修改也能正常使用,但是会报错,推荐修改,改成任意密码均可。
<cluster-password>password</cluster-password>

        (3)修改host.xml文件的<interfaces>节点
            替换所有的127.0.0.1为master的192.168.0.10。
<interfaces>
    <interface name="management">
        <inet-address value=http://www.mamicode.com/"${jboss.bind.address.management:192.168.0.10}"/>>
        (4)修改host.xml文件的<servers>节点:
            进行master中服务器实例的设置。
            注意: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添加管理员账号:
            添加一个用户,用户名为master,密码为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-password>password</cluster-password>

        (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=http://www.mamicode.com/"${jboss.bind.address.management:192.168.0.11}"/>>
        (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添加账号:
            添加一个用户,用户名为slave1,密码为123123。最后的询问选择yes,之后便会出现一行文字,其中包括一段xml,类似<secret value=http://www.mamicode.com/"MTIzMTIz" />,需要记下来。
            注意:该用户在master上。
        (8)修改host.xml文件的<host>节点:
            加入一个属性name="slave1"(这个name必须和上一步在master中创建的slave1的用户名一致)。
<host name="slave1" xmlns="urn:jboss:domain:2.1">

        (9)修改host.xml文件的<server-identities>节点:
            修改连接master的验证设置(添加slave1的用户时的xml)。
<server-identities>
    <secret value=http://www.mamicode.com/"MTIzMTIz" />>    3、按照上述配置后,依次在master和slave1中,使用bin/domain.bat启动服务器。待全部启动后,访问http://192.168.0.10:9990/,输入master用户名和密码,进入界面,即可查看服务器的运行状况。


二、进行mod_cluster的集群和负载均衡设置
    1、在master服务器上解压mod_cluster,运行bin/installconf.bat,生成默认的配置文件;
    2、修改conf/httpd.conf文件:
        (1)Listen 8000修改为Listen 80(监听80端口)
        (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的httpd服务器,master服务器的domain.bat,slave1服务器的domain.bat,访问http://192.168.0.10:6666/mod_cluster_manager即可看到集群的状态。

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