Jboss7集群配置说明
第一节 前言
JBOSS7具有独立模式(standalone)和域模式(domain)两种运行方式。独立模式(standalone)是单机器单进程方式,配置布署简单,适用于一般单服务器项目。域模式(domain)是多机器多进程方式,配置稍复杂,适用于大型分布式项目。如果要集群布署项目,最简单的方式就是使用域模式(domain)。
当使用域模式(domain)时,一台机器上的一个JBOSS7应用(host)可以开启多个Web Server,将一个JBOSS7应用(host)作为主控制服务器,就能控制管理其它机器上的JBOSS7应用(host),这样理论上通过增加机器,我们就可以获得无限个Web Server。把我们的JAVA项目通过主控制服务器布署到这些Web Server上,再通过httpd+mod_cluster,就能获得集群功能。
mod_cluster是JBOSS开发的专门用于集群的httpd模块,JBOSS7应该已内置有mod_cluster模块并已配置好,JBOSS官网也提供了配置好mod_cluster的httpd项目,我们只需下载使用即可。
注意:JBOSS中文文档很少,项目本身的版本更新又频繁,因此初学者不易掌握,容易走入误区。请根据本文的写作顺序,并下载指定的程序版本,确保程序版本匹配。调试环境除httpd+mod_cluster和jboss7独立模式(standalone)可以在windows系统下以外,jboss7域模式(domain)一定要用linux环境,否则无法调试通过
第二节 httpd+ mod_cluster安装、配置、运行
作为初学者,最好先把httpd+mod_cluster调试成功后再往后进行,网上的资料多是针对熟悉linux、jboss、httpd的读者,因此有不同程度的内容缺失,请按本文的介绍操作。
一 下载、安装、运行httpd+mod_cluster
访问http://www.jboss.org/mod_cluster/downloads/1-2-0-Final下载mod_cluster-1.2.0.Final-linux2-x64-ssl.tar.gz(windows下是mod_cluster-1.2.0.Final-windows-x86-ssl)。注意版本是1.2.0.Final,因为我们后面用的是jboss-as-7.1.1.Final,它内置的是mod_cluster-1.2.0.Final版本。还要注意这里下载的是httpd+mod_cluster,也就是包含了httpd的程序,所以文件大小应该是8-9M,而不是只有几百K,只包含几个so文件的程序。网上一般介绍的是下载只包含几个so文件的程序,然后修改linux自带的httpd配置,但是根据测试发现linux自带的httpd版本和我们需要的mod_cluster不匹配,无法配置成功。所以我们要下载包含完全httpd程序的mod_cluster文件。
在linux命令行下输入tar –zxvf mod_cluster-1.2.0.Final-windows-x86-ssl解压文件包,解压后第一件事就是进入opt/jboss/httpd/sbin目录输入./installhome.sh(windows下是httpd-2.2\bin\installconf.bat),生成默认配置。注意这一步不能缺,如果不先生成默认配置,我们后面就没法根据需要修改配置文件。
接着修改opt/jboss/httpd/httpd/conf/httpd.conf文件内容(可以用SSH Secure File Transfer Client把文件下载下来修改保存后再上传上去):
Listen 8000改成
Listen 192.168.1.204:80
#ServerName localhost:8000 改成
ServerName 192.168.1.204:80
文件最下面的
<IfModule manager_module>
Listen 127.0.0.1:6666
ManagerBalancerName mycluster
<VirtualHost 127.0.0.1:6666>
<Location />
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
KeepAliveTimeout 300
MaxKeepAliveRequests 0
#ServerAdvertise on http://127.0.0.1:6666
AdvertiseFrequency 5
#AdvertiseSecurityKey secret
#AdvertiseGroup 224.0.1.105:23364
EnableMCPMReceive
<Location /mod_cluster_manager>
SetHandler mod_cluster-manager
Order deny,allow
Deny from all