Tomcat 集群安装说明
1. 操作系统
Red Hat Linux Enterprise 5
2. 所需资源
软件:
Apache 2.2.X;Tomcat5.5.X; Mod_jk 1.2.23 for apache 2.2.X; Jdk 1_5_0_04
硬件:
三台计算机:A,B,C
备注:下载时将所需软件包文件保存在/usr/local目录下
3. 安装步骤
A 安装JDK (三台都要安装)
Ø 下载JDK1.5.X.tar.gz
Ø 使用如下命令解压,得到目录/jdk1.5.X
#tar –xcfz JDK1.5.X.tar.gz
Ø 修改/etc/profile文件 在红色的字体内容前
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
加入以下两行并保存。
export JAVA_HOME= /jdk1.5.X
export PATH=$JAVA_HOME/bin:$PATH
Ø 使用如下命令激活刚才的修改
# . /etc/profile
使用命令:# java –version
能看到输出java的版本信息,为1.5.X,证明JDK安装成功
B 安装Apache(在A机器上)
# cd /usr/local/
# tar xvfz httpd-2.2.4.tar.gz
# cd httpd-2.2.4
#./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most
# make
# make install
#/usr/local/apache/bin/apachectl start
启动apache服务,访问本机80端口,查看端口是否正常
# /usr/local/apache/bin/apachectl stop
关闭服务
备注:prefix定义apache的安装路径
C安装JK(在A机器上)
你可以在tools/下找到与apache2.2.4相匹配的jk:mod_jk.so,并把它拷到/usr/local/apache/module。也可以自己去下载源文件来编译,方法如下。
#cd /usr/local/
# tar xzvf jakarta-tomcat-connectors-1.2.14-src.tar.gz
#cd jakarta-tomcat-connectors-1.2.14-src/jk/native
#chmod 755 buildconf.sh
#./buildconf.sh
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make
#make install
#cd /usr/local/ jakarta-tomcat-connectors- jk1.2.14-src/jk/native/apache-2.0/
#cp mod_jk.so /usr/local/apache/modules/
D安装Tomcat(在B、C机器上)
# cd /usr/local/
# tar xvfz jakarta-tomcat-5.5.9.tar.gz
# ln –s /usr/local/jakarta-tomcat-5.5.9 /usr/local/tomcat
# vi /usr/local/tomcat/bin/catalina.sh
JAVA_HOME=/usr/local/java
启动服务后,访问本机8080端口,查看端口是否正常
# /usr/local/tomcat/bin/startup.sh
关闭服务
# /usr/local/tomcat/bin/shutdown.sh
E 系统整合
1.修改Apache httpd.conf 文件 (A机器上)
#vi /usr/local/apache/conf/httpd.conf
在文件最末尾加上如下语句
# Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.* loadbalancer
JkMount /nokia-ccms/* loadbalancer
2.为apache创建work.properties 红色的主机IP按实际网络情况调整。
#vi /usr/local/apache/conf/workers.properties
#
# workers.properties
#
# In Unix, we use forward slashes:
# ps=/
# list the workers by name
worker.list=tomcat1, tomcat2, loadbalancer
# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.1.33(B机器IP)
worker.tomcat1.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100
# ------------------------
# Second tomcat server
# ------------------------
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.1.34(C机器IP)
worker.tomcat2.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat2.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat2.lbfactor=100
# ------------------------
# Load Balancer worker
# ------------------------
# The loadbalancer (type lb) worker performs weighted round-robin
# load balancing with sticky sessions.
# Note:
# ----> If a worker dies, the load balancer will check its state
# once in a while. Until then all work is redirected to peer
# worker.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
#
# END workers.properties
#
3.修改Tomcat server.xml 在对应的位置加入红字体的文字(B机器)
#vi $tomcat_home$/conf/server.xml
3.1 <Connector port="8009"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
redirectPort="8443" protocol="AJP/1.3" />
3.2 在120行左右修改蓝字
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy-->
<Engine name="Catalina" defaultHost="localhost">
到
<!-- You should set jvmRoute to support load-balancing via AJP ie : -->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">
<!-- Define the top level container in our container hierarchy
<Engine name="Catalina" defaultHost="localhost">-->
修改C 机器上的tomcat,将jvmRoute的修改为tomcat2
3.3 两台机器的Tomcat都去掉Cluster的注释(<!-- -- >)
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
4. 启动apache和tomcat服务
# /usr/local/apache/bin/apachectl start
#$tomcat_home$/bin/startup.sh
将如下内容添加至/etc/rc.d/rc.local文件末尾,以便系统启动后开启apache,tomcat服务
/usr/local/tomcat/bin/startup.sh
/usr/local/apache/bin/apachectl start