一、环境
负载均衡器:
外网IP:67.208.221.120
Apache2.2.14
mod_jk 1.28
Game Server 01
内网IP:192.168.16.100
Jboss 5.1.0GA
JDK1.6.17 X64
Game Server 01
内网IP:192.168.16.100
Jboss 5.1.0GA
JDK1.6.17 X64
负载均衡器配置
一、下载apache和mod_jk
# mkdir /usr/local/src/tarbag
# mkdir /usr/local/src/software
# cd /usr/local/src/tarbag
# wget http://
# wget http://
二、配置编译安装apache2.2.14
# tar -xzvf httpd-2.2.14.tar.gz -C ../software/
# cd ../software/httpd-2.2.14
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-headers --enable-rewrite --disable-status --disable-userdir --disable-cgid
# make
# make install
三、扩展apache模块mod_jk
# cd /usr/local/src/tarbag
# mv mod_jk-1.2.28-httpd-2.2.X.so /usr/local/apache2/modules/mod_jk.so
# chmod 755 /usr/local/apache2/modules/mod_jk.So
# cd /usr/local/apache2/conf
# vi httpd.conf
//末尾加上如下内容
Include conf/mod_jk.conf
# vi uriworkermap.properties
//加上如下内容
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMountFile conf/uriworkermap.properties
JkShmFile logs/jk.shm
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
# vi uriworkermap.properties
//添加以下内容
/Garden=loadbalancer
/Garden/*=loadbalancer
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
# vi mod_jk.conf
//加上以下内容
worker.list=loadbalancer,status
worker.node1.port=8009
worker.node1.host=192.168.16.100
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=10
worker.node2.port=8009
worker.node2.host= 192.168.16.101
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=10
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
worker.status.type=status
四、安装jboss
.....略,详见766jboss安装
五、配置第一台jboss使用mod_jk
# /usr/local/jboss/server/all/deploy/jbossweb.sar/server.xml
找到:
改为:
# vi /usr/local/jboss/server/all/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml
找到:
false
//需要去掉旁边的注释
改为:
true
//其他
//快照模式,INSTANT只要有修改就立即复制session到其他主机,设置为INSTANT下面一项也失效
INSTANT
//当snapshotMode快照模式设置成Interval,那么下面生效,并且每隔1000ms复制一次快照
1000
//复制粒度,有session何attribute,一般就用SESSION
SESSION
//复制触发,设置成如下就可以
SET_AND_NON_PRIMITIVE_GET
true
六、配置应用程序
修改Garden应用程序的web.Xml
在应用程序的web.xml的 段中增加 。
在Garden下面添加jboss-web.Xml
输入以下内容
SET_AND_NON_PRIMITIVE_GET
SESSION
七、发布应用程序
将应用程序Garden.War放到/usr/local/jboss/server/all/farm下。只要一台有这个文件,其他主机会制动热部署这个文件。如果war文件在当前服务器上部署不成功,有可能导致不会热部署到其他服务器上
八、第二台jboss上修改ServerPeerID,节点ID
# vi /usr/local/jboss/server/all/deploy/messaging/messaging-service.Xml
找到
${jboss.messaging.ServerPeerID:0}
改为:
${jboss.messaging.ServerPeerID:1}
//所有的ServerPeerID必须不同,且都需要为整数,否则启动报错
九、启动
# nohup /usr/local/jboss/bin/run.sh -c all -b 192.168.1.100 -g GardenJBoss &
....待续