本文简单介绍,使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置。本配置在windows上测试通过,linux下应该是一样的。可能要稍作调整。后面会在linux上做测试。

1、首先下载apache httpd server

http://httpd.apache.org/download.cgi#apache22,下载2.2.25,应该最新的2.4.6版本也是可以的。只是官网没有给出windows的版本,我又懒得去编译。就使用2.2.25。

将apache安装到 C:\asf\Apache2.2

2、下载mod_cluster

2-1、  下载地址:http://www.jboss.org/mod_cluster/downloads/1-2-0-Final 选择1.2对应平台的版本。这里选择binaries windows-x86。

其实,选择linux的二进制版本也是可以只需要获取四个.so文件即可。windows和linux中,这四个文件是一样的。

2-2、  解压后,里面就是一个apache httpd server。解压后里面会有一个httpd-2.2文件夹,进入,再进入modules文件夹,找到四个文件

mod_proxy_cluster.so
mod_manager.so
mod_slotmem.so
mod_advertise.so

2-3、 双击httpd-2.2/bin 下的installconf.bat,安装初始化配置。因为我们使用我们自己下载的apache httpd server,这一步就不需要了。

2-4、 将上面四个文件拷到,第一步中,我们安装的apache的目录下的modules,C:\asf\Apache2.2\modules

2-5、  下面配置C:\asf\Apache2.2\conf\httpd.conf这个文件,为了简化配置,和httpd.conf相同目录下,我们新增一个配置文件jboss_mod.conf,然后再里面加入下面的内容

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so

<IfModule manager_module>
Listen 10.10.16.119:6660
<VirtualHost 10.10.16.119:6660>  
   <Location />
          Order deny,allow
          Deny from all
          Allow from all
   </Location>
   
   KeepAliveTimeout 60
   MaxKeepAliveRequests 0
   EnableMCPMReceive On
   AdvertiseFrequency 5

ManagerBalancerName modcluster
   ServerAdvertise On
   AllowDisplay On

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

将其中的IP地址换成你自己的IP地址。

2-6、 在C:\asf\Apache2.2\conf\httpd.conf中引入我们新增的jboss_mod.conf文件,在httpd.conf最后面增加下面一行

Include conf/jboss_mod.conf

3、这样mod_cluster和apache httpd server的配置就好了。

重新启动apache,访问http://10.10.16.119:6660/mod_cluster_manager,会看到一个页面,类似下面:说明mod_cluster和apache已经整合成功了。否则请重复上面的步骤。直到成功。

4、下面配置jboss eap 6.1,,jboss as 7.2+,应该也是可以的。

4-1、下载jboss eap 6.1,地址:http://www.jboss.org/jbossas/downloads/

下载后解压,我们将其放到e:\jboss-eap-6.1。因为集群需要两台server,我们假设两台server的IP分别是:10.10.16.119(master),10.10.16.212(slave)。

名字只是以示区分,并不是主从,他们两个是平等的。

4-2、这里使用到了jboss的域模式,想了解更多,自己去google了。这里master作为域控制器,下面开始:

进入E:\jboss-eap-6.1\domain\configuration,打开domain.xml,到最后,去掉server-groups其他所有的组,只留下main-server-group,jvm heap大小,根据你的server 也要做调整,否则可能内存溢出,如下所示:

<server-groups>
        <server-group name="main-server-group" profile="full-ha">
            <jvm name="default">
                <heap size="512m" max-size="512m"/>
                <permgen max-size="128m"/>
            </jvm>
            <socket-binding-group ref="full-ha-sockets"/>
        </server-group>
    </server-groups>

我们使用full-ha profile,记得socket-binding-group也要做更改。

4-3、jboss域模式,需要增加账户,在E:\jboss-eap-6.1\bin下,有个文件add-user.bat,双击,

a、添加ManagementRealm账户administrator,密码!QAZ1234

这个账户是用来登录jboss 控制台,管理jboss的。

b、增加 ApplicationRealm账户,administrator,密码!QAZ234

这个账户是应用级别的账户,后面jboss jms hornetq集群会使用到。

c、增加ManagementRealm账户slave,密码!QAZ1234

所有域中的主机,都要在域控制器中,以主机名为账户名,在master中注册一个账户,这个账户是用来和域控制器进行通讯使用的。注册的最后,会提示你是否需要将该账户用于主机间通讯,选择yes,会生成一个,base64加密的密码,这个要记下啦,后面会用到。

4-4、下面配置jms,进入E:\jboss-eap-6.1\domain\configuration,打开domain.xml,找到full-ha profile,然后找到messaging subsystem,更改

<cluster-user>administrator</cluster-user>
                    <cluster-password>${jboss.messaging.cluster.password:IVFBWjEyMzQ=}</cluster-password>

这里的账户和密码就是上一步骤b,增加的账户。密码要base64加密的。

4-5、配置master的host.xml,E:\jboss-eap-6.1\domain\configuration\host.xml,

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

后面的IP改成master的IP。

将<host name="master" xmlns="urn:jboss:domain:1.4">,添加name="master"

为了简化

<servers> 下只保留一个<server>

这样,mster基本上就配置完毕了。

5、下面配置slave,我们假设,路径和master一样,E:\jboss-eap-6.1\你也可以调整。由于slave不作为域控制器,只是一个主机,

所以删除E:\jboss-eap-6.1\domain\configuration下的domain.xml。

5-1、首先增加账户,只需要增加master配置中的第一个账户就可以了,管理员账户。

5-2、然后打开host.xml

<host name="slave" xmlns="urn:jboss:domain:1.4">,主机名改为slave

在<security-realm name="ManagementRealm">下增加子元素

<server-identities>
                     <secret value="IVFBWjEyMzQ="/>
                </server-identities>

其中的secret的value值,就是在master账户配置中c步骤配置的账户,密码是bas64加密的。

5-3、配置主机控制器,其中的host,就是master的ip

<domain-controller>
       <!-- Alternative remote domain controller configuration with a host and port -->
       <remote host="${10.10.16.119}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
    </domain-controller>

5-4、

为了简化

<servers> 下只保留一个<server>

<server name="server-one" group="main-server-group">
        </server>

5-5、管理端口配置,将后面的IP地址改成slave的IP地址

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

这样,slave也就配置好了。

6、下面重启apache,然后依次启动master,slave。启动jboss eap的脚本在E:\jboss-eap-6.1\bin下的domian.bat。

如果启动都没有报错。

访问  http://10.10.16.119:6660/mod_cluster_manager,你讲看到下面有两个Node,节点。你访问apache,mod_cluster就可以将请求转发到后面的jboss eap。

7、你可以增加一个空的war项目。我的名字是skmbw.war,然后,登录http://10.10.16.119:9990/,登录jboss控制台,使用master中增加账号,a步骤的账号密码,

将项目skmbw.war,传上去,然后部署.

右上角,Runtime,然后,左上角,Manage Deployments,在Content Repository  tab菜单中,点击add 按钮,上传。

就可以将skmbw,同时部署到两台server上。

通过 http://10.10.16.119/skmbw就可以访问到了。说明apache成功转发了请求。

如果,想让apache处理静态资源,动态资源交给jboss处理,需要apache的httpd.conf做进一步配置,留在下一篇文章中。

使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置的更多相关文章

  1. jboss eap 6.3 集群(cluster)配置

    接上一篇继续,Domain模式解决了统一管理多台jboss的问题,今天我们来学习如何利用mod_cluster来实现负载均衡.容错. mod_cluster是jboss的一个开源集群模块(基于apac ...

  2. jboss eap 6.3 集群(cluster)-Session 复制(Replication)

    本文算是前一篇的后续,java web application中,难免会用到session,集群环境中apache会将http请求智能转发到其中某台jboss server.假设有二个jboss se ...

  3. JBOSS EAP实战(2)-集群、NGINX集成、队列与安全

    JBOSS HTTP的Thread Group概念 JBOSS是一个企业级的J2EE APP Container,因此它和任何一种成熟的企业级中间件一样具有Thread Group的概念.所谓Thre ...

  4. Sql server 2016 Always On 搭建Windows集群配置

    .安装WSFC群集组件 1)打开服务器管理器,选择“功能”,在右边窗口中点击“添加功能”. 2)在添加功能向导中,勾选“故障转移群集”,点击“下一步”. 3)在“确认安装选择”页面中,点击“安装”,进 ...

  5. Apache httpd和JBoss构建高可用集群环境

    1. 前言 集群是指把不同的服务器集中在一起,组成一个服务器集合,这个集合给客户端提供一个虚拟的平台,使客户端在不知道服务器集合结构的情况下对这一服务器集合进行部署应用.获取服务等操作.集群是企业应用 ...

  6. Apache Httpd Server 2.2升级2.4

    Apache Httpd Server 2.2升级2.4 (2 votes, average: 5.00 out of 5) 2,302 views 2012 年 3 月 20 日Web服务器.服务器 ...

  7. 转:Fuzzing Apache httpd server with American Fuzzy Lop + persistent mode

    Fuzzing Apache httpd server with American Fuzzy Lop + persistent mode 小结:AFL主要以文件作为输入进行fuzz,本文介绍如何对网 ...

  8. Apache httpd Server 配置正向代理

    背景 代理(Proxy),位于客户端与实际服务端之间,当客户端需要请求服务端内容时,先向代理发起请求,代理将请求转发到实际的服务器,再原路返回.也可以在代理服务器设置缓存,将实际服务器上不常变化的内容 ...

  9. Apache+tomcat+mod_jk+centos6.2负载均衡集群配置--转载

    转载地址:http://blog.163.com/chenhui_java/blog/static/17267249420128101191860/ 注: 由于长期受转载毒害,所以本人日志均是原创:其 ...

随机推荐

  1. Spring中的DataBinding(一)

    DataBinding在Spring中应用. 第一点:使用ModelAttribute指定带绑定的数据内容 很重要的属性:@ModelAttribute([value=""])可以 ...

  2. DPark安装及相关资料整理

    最近需要处理海量数据的分布式计算及数据挖掘,经过多次选择(hadoop,Spark,DPark),最后还是选择了DPark,主要是看中DPark的轻量级及python的灵活性,且除了豆瓣外,在几个友公 ...

  3. delphi 操作 TWebBrowser 实现自动填表(JQuery脚本与 OleVariant 方法)

    版本:DELPHI XE8 操作交通银行信用卡申请表单(2016-03-23),网址如下: https://creditcardapp.bankcomm.com/applynew/front/appl ...

  4. 【二叉树->链表】二叉树结构转双向线性链表结构(先序遍历)

    二叉树存储结构属于非线性链表结构,转化成线性链表结构,能简化操作和理解.然而由非线性转线性需要对整个树遍历一次,不同的遍历方式转化结果页不一样.下面以先序为例. 方法一: 递归法.递归遍历二叉树,因为 ...

  5. 使用xmanager 远程redhat6.3

    之前装过一次,特别麻烦,装上只有远程还卡卡的,这次按照教程居然装的灰常顺利,不符合我bug体质的特性,一定要记下来啊~~~ 1.先关闭防火墙 # service iptables stop #chkc ...

  6. Hadoop CLI MiniCluster

    CLI MiniCluster Use the climonicluster, users can simply start and stop a single-node hadoop cluster ...

  7. oracle后台进程2

    oracle中的进程共分为三类:用户进程.服务进程.后台进程.其中后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务. 一: ...

  8. 让rdlc报表在ReportViewer中水平居中的方法

    正常情况下,rdlc报表在Reportviewer中是居左显示的,如图: 在Reporviewer的属性中,我没有找到能让rdlc的居中显示的方法.网上其他人用的方法都试了,没能实现,只能自己找方法解 ...

  9. 理解js异步的概念

    js引擎在执行的时候是单线程的,这是大家都知道的.我们先来看一段代码: <html> <head> <meta http-equiv="Content-Type ...

  10. http头部信息研究

    1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Charset: 浏览器申明自 ...