本文简单介绍,使用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. 正式学习React(四) 前序篇

    预热 redux 函数内部包含了大量柯里化函数以及代码组合思想 柯里化函数(curry) 通俗的来讲,可以用一句话概括柯里化函数:返回函数的函数 // example const funcA = (a ...

  2. 诺基亚 Lumia 1020的价格

       大部分的中国人心中,都有一个诺基亚情节.经典的1110,耐摔程度强得惊人,相信很多人都知道它的厉害.    虽说这些年诺基亚由于没有跟上Android这一波智能机的浪潮,在智能机时代被三星苹果等 ...

  3. [python] 如何用python操作Excel

    直接上代码: from openpyxl import Workbook from openpyxl.cell import get_column_letter wb = Workbook() des ...

  4. DEP受保护的问题(尤其是Outlook)

    We see this issue quite regularly as we use MAPI and lots of our users run our application on TS. Of ...

  5. linux 用户空间获得纳秒级时间ns

    一.引言 我们在测试程序的性能的时候往往需要获得ns级的精确时间去衡量一个程序的性能,下面介绍下linux中用户空间获得ns级时间的方法 二.用户空间获得ns级时间 使用clock_gettime函数 ...

  6. eclipse sysout快捷输入启用

    Window-Preference-java-editor-content assist-advanced 一定要勾选Template Propasals. 关于Template Propasals: ...

  7. 实用CSS3属性之 :target伪类实现Tab切换效果

    CSS3 :target伪类用来改变页面中锚链接URL所指向的ID样式,例如你要改变描链接指向#tab的元素字体颜色为蓝色,哪么你可以这样写成#tab:target {color:blue} 浏览器支 ...

  8. 【最大团】【HDU1530】【Maximum Clique】

    先上最大团定义: 最大团问题(Maximum Clique Problem, MCP)是图论中一个经典的组合优化问题,也是一类NP完全问题,在国际上已有广泛的研究,而国内对MCP问题的研究则还处于起步 ...

  9. RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密

    RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一 ...

  10. 引言:Canvas绘图API快速入门

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...