RHEL5下的Apache2.0+Tomcat5.5的集群配置
两台机器:默认安装RHEL5(没有安装任何网络服务器,完全安装了系统选中的系统开发工具)
188只安装JDK和Tomcat
189安装JDK和Tomcat、Apache、担当NFS的server。
A、188机器
1、安装JDK:
#sh /yourpath/jdk-1_5_0_16-linux-i586-rpm.bin
2、安装Tomcat:
拷贝其到/usr/tomcat-5.5.27/处
#tar -zxvf tomcat-5.5.27.tar.gz
#cp -rf apache-tomcat-5.5.27 /path/tomcat-5.5.27
部署项目
#unzip webapp.zip
#cp -rf webapp /path/webapp/webapp-abc
3、Tomcat和JDK所需要的配置:
#vi /etc/profile
在合适的地方新增以下内容:
export JAVA_HOME=/usr/java/jdk1.5.0_16
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export TOMCAT_HOME=/usr/tomcat-5.5.27
export PATH=$JAVA_HOME/bin:$PATH
#source /etc/profile
注意:PPC上JDK安装路径:/opt/ibm/java2-pppc64-50/
4、修改Tomcat配置 server.xml
将Cluster 前的注释去掉,启用tomcat集群功能。
一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。
有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,
如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。
可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到。
修改Cluster中的
<Receiver
classname="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
改为
<Receiver
classname="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.6.188"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
然后打开jvmRoute(搜索jvm),跟workers.properties 的两个tomcat名字相匹配
188机器
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat188"/>
189机器
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat189"/>
5、增加管理账号 tomcat-user.xml
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin"/>