apache2.2 tomcat5.5 jboss4.2搭建 web集群+应用集群

               apache2.2 tomcat5.5 jboss4.2搭建 web集群+应用集群



   本文主要内容:使用apache2.2 tomcat5.5 jboss4.2搭建 web集群+应用集群。其中应用层集群部署在jboss4.2 上, 因为所有的部署都是在同一台机器上,所以我使用 xVMVirtualBox3 虚拟了一台机器,在主机和虚拟机之间如何互相调用应用层ejb、访问数据库的问题上也是颇多周折。不得不说,网上那些所谓的高手实在不敢恭维。因此到最后,还是自己摸索着完成 web集群+应用集群。

   要点:1、xVMVirtualBox的网络配置
         2、web集群配置
         3、应用集群配置
         4、数据库的问题

   首先从 xVMVirtualBox3 的网络配置开始,网上有诸多文章提到 xVMVirtualBox 的网络配置,多半是主机和虚拟机如何互相访问,到最后都是说:主机可以ping通虚拟机;虚拟机可以ping通主机,OK! 完事了!
   看到这些文章我是越看越来气,可以互相ping 通,又怎么样!可以互相访问数据库吗? 可以互相访问tomcat吗?可以互相访问ejb吗?所以在部署web集群+应用集群的时候有一大堆的问题。下面就以实际的例子来说明如何配置xVMVirtualBox3 的网络才能为集群做好准备。
 
   我现在使用的是xVMVirtualBox3,可网上流传的多半还是xVMVirtualBox2 的文章,所以个人觉得那些copy别人文章的实在是误人子弟。
   xVMVirtualBox3的安装不说了。直接进入网络配置,要为集群做好准备,首先要配置一个网桥[后面在数据库部分还要配置NAT],在 xVMVirtualBox3的安装完成后已经有一个NAT的配置,我们先不管,我们配置网
络连接2,

   在此之前还是要说明一下,图片中的 “MAC桥微型端口”是怎么来的:在安装完xVMVirtualBox3后,在网络连接中会出现一张名称为:VirtualBox Host-Only Network 的网卡,将这张网卡和“本地连接” 同时选中,然后右键,点击桥接,会建立网桥。如下图,到此就会有“MAC桥微型端口”的选择了。



     另外值得注意的是:在配置网络连接2的时候,我使用的是 “intel pro/1000 MT ..”
的芯片,而这个是需要驱动的,当然这个驱动也很好找,只要在baidu 中输入 intel pro/1000 MT 驱动就可以找到了。如何将驱动放到虚拟机、如何安装不讲了。到此xVMVirtualBox的网络配置完成!

    接着讲web集群配置,这部分其实相对简单,网上资料也有不少,tomcat5.5 如何开启集群、设置端口,在此不做累述。主要说明一下apache2.2如何实现负载平衡,注意是apache2.2!不是apache2。apache2中使用jk实现就负载平衡不说了,网络上有不少文章都是在用jk 配置 负载平衡,如果是最新的apache版本,恐怕是找不到对应的jk版本,更何况pache2.2 之后 apache 已经集成了负载平衡!配置的代码很简单:
    找到 %Apache2.2%\conf\httpd.conf  在末尾加上:
  
ProxysPas /images !
ProxyPass /css !
ProxyPass /js !

ProxyPass / balancer://example/
<Proxy balancer://example/>
BalancerMember http://192.168.1.119:7888/
BalancerMember http://192.168.1.120:7080/
</Proxy>

以下说名内容:
//192.168.1.119:主机地址       7888:主机tomcat端口
//192.168.1.120:虚拟机地址     7080:虚拟机tomcat端口

    web集群配置完成,如何验证 集群是否有效、负载平衡是否工作呢?假设主机tomcat和虚拟机tomcat上都部署了一个名为test 的工程,我们可以在 浏览器地址栏输入: http://192.168.1.119:80/test
     192.168.1.119 : apache  所在机器的ip
     80: apache的端口,如果 80 已经被占用,可以使用其他端口,apache修改端口不在累叙。

     查看主机tomcat、虚拟机tomcat 控制台是否有输出, 如果主机tomcat、虚拟机tomcat 控制台都有输出,那么apache负载平衡中“分发”的作用就达到了。

    下面讲应用集群配置:
    在应用集群中,我使用的是ejb3,中间碰到一个很诡异的问题 ,在VirtualBox网络配置完成、主机和虚拟机都各有一个 tomcat、jboss ,启动主机和虚拟机 上的tomcat、jboss, 主机和虚拟机的tomcat 可以互相访问,但jboss  不行 ,后来查了资料才知道: jboss4.2中 jboss 的访问地址需要绑定的,修改启动的参数,主机原来: run -c all   主机修改后: run -c all -b 192.168.1.119
      虚拟机原来: run -c all  虚拟机修改后: run -c all -b 192.168.1.120

  说明:ejb3如何部署 在此不做累述。为什么是 -c ,玩 jboss 、ejb3 集群的应该明白。


    最后讲的是数据库:我使用的mysql5 的免安装版本,小巧、易于移动,
    在部署中发现,如果xVMVirtualBox3  只配置 网桥,那么主机和虚拟机是不能相互访问数据库的,所以我把NAT 也用了起来,但还是有问题,主机可以访问虚拟机的数据库,可是虚拟机不能访问主机的数据库,所以只能把数据库放到了虚拟机上,这和原来的设想多少有点出入。

   不管怎么样,apache2.2 tomcat5.5 jboss4.2搭建 web集群+应用集群 已经能正式的跑了起来。其实 ejb3.0 已经玩了挺长时间,但是一直没有进行ejb3的集群部署,所以干脆花了一些时间把web集群也实
现。因为没有多台机器的关系,使用了xVMVirtualBox3虚拟了机器,但因此也带来颇多的问题!还好现在都已经解决!

你可能感兴趣的:(tomcat,Web,虚拟机,jboss,网络应用)