假设三台机器IP分别为172.29.128.100、172.29.128.101、172.29.128.102,全部是32Bit的windowsXP系统,分别安装了Apache2.2、jboss-4.2.3.GA、jboss-4.2.3.GA。
将要部署的架构如下:
Apache(172.29.128.100)
|
jboss cluster
|
//
/ /
/ /
jboss jboss
(172.29.128.101) (172.29.128.102)
- 在web应用的web.xml文件中加入<distributable />
- 在web应用中(与web.xml同一文件夹下)添加jboss-web.xml文件,内容如下:
- 将应用打成war包放在101和102的jboss-4.2.3.GA/server/all/deploy下
配置jboss集群:
- 在101和102的jboss-4.2.3.GA/bin下新建run_all.bat文件,内容分别为:run.bat -c all -b 172.29.128.101,run.bat -c all -b 172.29.128.102(这一步一定要作,否则不能实现会话复制)
- 修改jboss-4.2.3.GA/server/all/deploy/jboss-web.deployer/server.xml文件,将address="${jboss.bind.adress}"中的${jboss.bind.adress}替换成jboss服务器的IP。找到<Engine name="jboss.web" defaultHost="localhost">,将101改为<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">,102改为<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node2">
- 修改jboss-4.2.3.GA/server/all/deploy/jboss-web-cluster.sar/META-INF/jboss-server.xml,注释调<config><UDP mcast_addr……,放开<config><TCP mcast_addr……,将所有down_thread="false" up_thread="false"改为down_thread="true" up_thread="true"。找到initial_host=”……,将101的改为initial_hosts="172.29.128.101[7810],172.29.128.102[7810]",102的改为initial_hosts="172.29.128.102[7810],172.29.128.101[7810]"
- 启动101的jboss,待启动成功后启动102的jboss
配置负载均衡
-
修改apache的httpd.conf,放开下列模块前的注释:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so -
在httpd.conf中添加:
ProxyRequests Off
ProxyPass /yourProName balancer:// 172.29.128.100
<Proxy balancer://172.29.128.100>
BalancerMember ajp://172.29.128.1018009/yourProName route=node1 loadfactor=50
BalancerMember ajp://172.29.128.102:8009/yourProName route=node2 loadfactor=50
</Proxy> - 启动apache,在浏览器中输入http://172.29.128.100/yourProName