jboss5.1+apache2.2.14_mod_jk集群

 

一、环境

负载均衡器:

外网IP67.208.221.120

Apache2.2.14

mod_jk 1.28

 

Game Server 01

内网IP192.168.16.100

Jboss 5.1.0GA

JDK1.6.17 X64

 

Game Server 01

内网IP192.168.16.100

Jboss 5.1.0GA

JDK1.6.17 X64

 

负载均衡器配置

一、下载apachemod_jk

# mkdir /usr/local/src/tarbag

# mkdir /usr/local/src/software

# cd /usr/local/src/tarbag 

二、配置编译安装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

<Location /jkstatus/>

    JkMount status

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</Location>

 

# 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

.....略,详见jboss安装

 

五、配置第一台jboss使用mod_jk

# /usr/local/jboss/server/all/deploy/jbossweb.sar/server.xml

找到:

<Engine name="jboss.web" defaultHost="localhost">

改为:

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">

# vi /usr/local/jboss/server/all/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml

找到:

<property name="useJK">false</property>

//需要去掉旁边的注释<!-- -->

改为:

<property name="useJK">true</property>

//其他

//快照模式,INSTANT只要有修改就立即复制session到其他主机,设置为INSTANT下面一项也失效

<property name="snapshotMode">INSTANT</property>

//snapshotMode快照模式设置成Interval,那么下面生效,并且每隔1000ms复制一次快照

<property name="snapshotInterval">1000</property>

//复制粒度,有sessionattribute,一般就用SESSION

<property name="replicationGranularity">SESSION</property>

//复制触发,设置成如下就可以

<property name="replicationTrigger">SET_AND_NON_PRIMITIVE_GET</property>

<property name="replicationFieldBatchMode">true</property>

 

六、配置应用程序

修改Garden应用程序的web.Xml

在应用程序的web.xml<web-app>段中增加<distributable />

 

Garden下面添加jboss-web.Xml

输入以下内容

<jboss-web>
<replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
<replication-field-batch-mode>

 

七、发布应用程序

将应用程序Garden.War放到/usr/local/jboss/server/all/farm下。只要一台有这个文件,其他主机会制动热部署这个文件。如果war文件在当前服务器上部署不成功,有可能导致不会热部署到其他服务器上

 

八、第二台jboss上修改ServerPeerID,节点ID

# vi /usr/local/jboss/server/all/deploy/messaging/messaging-service.Xml

找到

<attribute name="ServerPeerID">${jboss.messaging.ServerPeerID:0}</attribute>

改为:

<attribute name="ServerPeerID">${jboss.messaging.ServerPeerID:1}</attribute>

//所有的ServerPeerID必须不同,且都需要为整数,否则启动报错

 

九、启动

# nohup /usr/local/jboss/bin/run.sh -c all -b 192.168.1.100 -g GardenJBoss &

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值