jboss 5.0 安装配制负载均衡
时间:2009-05-22 来源:yong_kang
简明JBOSS 5的安装配置说明
环境为Linux AS4以上,以下内容JBOSS5的简称JBoss,JDK5简称JDK
下载:
下载JDK1.5以上版本
http://java.sun.com/javase/downloads/index_jdk5.jsp
http://java.sun.com/javase/6/
下载JBOSS5版本
http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=645033
http://nchc.dl.sourceforge.net/sourceforge/jboss/jboss-5.0.0.GA.zip
如果是JDK1.6的版本请下载:
http://jaist.dl.sourceforge.net/sourceforge/jboss/jboss-5.0.0.GA-jdk6.zip
如果想亲自尝试编译安装请下载:
http://jaist.dl.sourceforge.net/sourceforge/jboss/jboss-5.0.0.GA-src.tar.gz
下载apache2.x以上
http://dev.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
安装:
安装目录统一为:/usr/local/
JDK的安装
Chmod +x jdk-1_5_0_17-linux-i586.bin
./jdk-1_5_0_17-linux-i586.bin
Yes
Ok,Fininsh。。。
JBOSS的安装
Unzip jboss-5.0.0.GA.zip
配置:
1:环境变量配置
JAVA_HOME=/usr/local/jdk1.5.0_17
JBOSS_HOME=/usr/local/ jboss-5.0.0.GA
PATH
2:JBOSS配置
1:修改端口:
/usr/local/jboss-5.0.0.GA/server/default/deploy/jbossweb.sar/server.xml
<!-- …
<Connector protocol="HTTP/1.1" port="8080" address="${0.0.0.0}"
… - ->
将8080修改为你想要的端口,将${jboss.bind.address}修改为0.0.0.0,允许从eth0,eth1,lo都能够访问jboss 80端口,也可以在启动参数中指定ip地址选项,指定绑定的ip地址:run.sh -b x.x.x.*
2:修改run.sh 增加JAVA_HOME和JBoss_HOME,把环境变量和app server绑定。
增加:
JAVA_HOME=/usr/local/jdk1.5.0_17/
JBOSS_HOME=/usr/local/jboss-5.0.0.GA
3. 日志文件设置。
若需要修改JBoss默认的log4j设置,可修改JBoss安装目录"server"default"conf下的jboss-log4j.xml文件,在该文件中可以看到,log4j的日志输出在JBoss安装目录"server"default"log下的server.log文件中。对于log4j的设置,读者可以在网上搜索更加详细的信息
3.部署应用
方式有多种,这里介绍一种,在/usr/local/jboss-5.0.0.GA/server/default/deploy目录下建立test.war的目录,把应用程序拷贝到test.war目录,配置一个jboss-web.xml放到WEB-INF下面即可。如果要建立虚拟主机则在jboss-web.xml中加入:
<jboss-web>
<context-root>/</context-root>
<virtual-host>www.test.com</virtual-host>
</jboss-web>
同时配置server.xml增加:
</Host>
<Host name="www.test.com">
<Alias>www.test.com </Alias>
</Host>
启动测试sh run.sh http://www.test.com
使用Apache http Server进行负载均衡配置
Apache Http Server |
Mod_JK |
JBOSS AS 5 |
NODE1 |
JBOSS AS 5 |
NODE2 |
下载apache
From: http://httpd.apache.org/
我下载的是httpd-2.2.11.tar.gz
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared="proxy proxy_http proxy_connect headers" --enable-MODULE=shared --with-mpm=worker
Make && make install
编辑http server的conf可以在文件尾增加, Vi Httpd.conf
如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
<Proxy balancer://mycluster>
Order deny,allow
Allow from all
BalancerMember ajp://172.16.9.22:8091/ route=node1 timeout=15
BalancerMember ajp://172.16.9.65:8091/ route=node2 timeout=15
ProxySet stickysession=JSESSIONID
ProxySet lbmethod=bytraffic
</Proxy>
ProxyPass / balancer://mycluster
其中BalancerMember ajp://172.16.9.22:8091/ route=node1 timeout=15
IP是网卡绑定的地址,端口是jboss的ajp协议的端口,node1是jboss server.xml中的jvmroute名称,在下面会介绍。
JBOSS配置:
/usr/local/jboss-5.0.0.GA/server/default/deploy/jbossweb.sar/server.xml
<Connector protocol="AJP/1.3" port="8091" address="${0.0.0.1}"
redirectPort="8444" />
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
…
</Engine>
另外一台jboss同样配置,注意node2。
补充:jboss的监听地址一定要写网卡绑定的ip,要跟前端apache mod_jk配置中指定的ip一致,最好在同一个网段如172.16.9.*,同时一定修改启动监听地址为0.0.0.0,否则apache 的mod-jk无法转发request.
默认启动后,访问apache所在的机器ip。。。如果访问1服务,停掉1服务后,则会自动切换到2服务。