Linux平台Apache双机高可用集群
+ Tomcat负载均衡集群配置手册
在这个配置手册中,使用的操作系统和软件清单如下:
操作系统:
RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)
软件:
jdk-1_5_0_15-linux-amd64.bin
Tomcat5.5.26
httpd-2.0.63.tar.gz
jakarta-tomcat-connectors-jk2-src-current.tar.gz
ipvsadm-1.24.tar.gz
libnet.tar.gz
heartbeat-2.1.3-3.el4.centos.x86_64.rpm
heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm
heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm
因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.bin
JAVA环境包使用的是64位1.5版
Tomcat版本为公司指定的5.5版本
Apache为2.0.63版
jakarta-tomcat-connectors-jk2-src-current.tar.gz
是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载
ipvsadm-1.24.tar.gz
libnet.tar.gz
这两个是用于2台Apache服务器虚拟一个IP地址使用
heartbeat-2.1.3-3.el4.centos.x86_64.rpm
heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm
heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm
这3个软件是用于2台Apache服务器之间的心跳检测
第 3 页 总 13 页
结构图
Apache1
以以以以以
Tomcat1
Tomcat2
Apache2
2台Tomcat 服务器使用Tomcat 软件可以自己做集群,2台Apache 服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP 地址访问2台Apache 服务器,再通过Apache 服务器访问Tomcat 服务器
1.安装JAVA环境包
1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin
执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹
2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下
3)设置环境变量。进入到 /etc 下,找到一个名为profile的文件,使用TXT方式打开,再改文件内容最后添加如下内容:
JAVA_HOME=/usr/java/jdk1.5.0_15
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export PATH JAVA_HOME CLASSPATH
4)重启服务器。重启后输入命令:java –version如果显示的jdk版本和安装的软件一样,则java环境已经装好
在每个Apache和Tomcat服务器上都安装JAVA环境
2.Tomcat的安装和集群配置
1)这里使用的Tomcat是一个已经解压缩了的程序包,拷入到具体的文件加下,就可以直接启动。启动方法是通过终端进入该Tomcat程序包,输入:./catalina.sh run 。Tomcat 启动后,在浏览器中输入该服务器的IP地址,通过8080端口打开,如果能看到以下页面,代表Tomcat安装成功。分别在2台Tomcat服务器上安装并能正常启动Tomcat
2)现在开始配置Tomcat集群。
A.分别修改两个个tomcat的配置文件conf/server.xml,修改内容如下
修改前
修改后
managerClassName="org.apache.catalina.cluster.session.D eltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> className="org.apache.catalina.cluster.mcast.McastServic e" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> className="org.apache.catalina.cluster.tcp.ReplicationLi stener" tcpListenAddress="auto" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> className="org.apache.catalina.cluster.tcp.ReplicationTr ansmitter" replicationMode="pooled" ackTimeout="5000"/> className="org.apache.catalina.cluster.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\. html;.*\.css;.*\.txt;"/> className="org.apache.catalina.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
将集群配置选项的注释放开即可,即删除CLUSTER的注释:
B.再分别修改两个tomcat的配置文件conf/server.xml,修改内容如下
修改前
on to the appropriate Host (virtual host). -->
修改后
jvmRoute="tomcat1"> 将其中的Engine name="Standalone"全部修改为Engine name=" Catalina "和Engine name=" Catalina " 将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2" 注意: A.此处将Standalone修改为Catalina是为了配合大洋公司的检索软件使用,如是其他软件请更具具体环境配置 B.tomcat1和tomcat2是两台Tomcat服务器的机器名,请根据实际环境配置 3)重新启动两个Tomcat程序,至此Tomcat集群配置完毕 3.Apache安装及Apache与Tomcat互联 1)安装Apache。在终端中依次输入命令,将Apache安装到/usr/local/apache目录下: #tar –zxvf httpd-2.0.63.tar.gz #cd httpd-2.0.63 #./configure –prefix=/usr/local/apache #make #make install 安装好后,使用终端进入/usr/local/apache/bin目录下,使用命令 ./apachetl start 启动Apache 在浏览器中输入该服务器的IP地址,使用80端口,当看到以下界面时,表示Apache安装成功 2)Apache安装好后现在需要安装编译Apache和Tomcat的连接插件:mod_jk2.so。 使用终端先进入存放jakarta-tomcat-connectors-jk2-src-current.tar这个软件包文件夹,输入以下命令: #tar –zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz 这时在同一个目录下会出现一个jakarta-tomcat-connectors-jk2-2.0.4-src的文件夹,接下来进入该文件夹 #cd jakarta-tomcat-connectors-jk2-2.0.4-src #cd jk/native2 #./configure –with-apxs2=/usr/local/httpd/bin/apxs –-with-apache2=/usr/local/httpd/(路径根据实际情况输入) #make #cd ../build/jk2/apache2/ 经过以上操作,得到mod_jk2.so的module,把这个复制到安装好的Apache的module 目录下 3)配置apache的安装目录中的conf目录的配置文件httpd.conf,在文件中加LoadModule 模块配置信息的最后加上一句LoadModule jk2_module modules/mod_jk2.so 如下位置 LoadModule setenvif_module modules/mod_setenvif.so #LoadModule speling_module modules/mod_speling.so #LoadModule status_module modules/mod_status.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule ssl_module modules/mod_ssl.so LoadModule jk2_module modules/mod_jk2.so 4)在apache的安装目录中的conf目录下创建文件workers2.properties,写入文件内容如下 [logger.apache2] level=DEBUG #第二个Tomcat的配置 [channel.socket:tomcat2] port=8009 host=192.168.1.107 # Server 2 IP # 定义worker [ajp13:tomcat2] channel=channel.socket:tomcat2 #第一个Tomcat的配置 [channel.socket:tomcat1] port=8009 host=192.168.1.106 # Server 1 IP # 定义worker [ajp13:tomcat1] channel=channel.socket:tomcat1 #定义Balancer(负载均衡器) [lb:lb] worker=ajp13:tomcat1 worker=ajp13:tomcat2 #Uri的映射 [uri:/*] group=lb:lb 这里的IP和Tomcat1及Tomcat2,需要根据实际情况配置 4.检验Apache和Tomcat互连以及Tomcat集群是否生效 1)在Apache服务器浏览器上输入本机的IP地址,如显示的界面为Tomcat的界面,则代表Apache与Tomcat连通正常 2)Tomcat集群测试 在两个tomcat的\tomcat1\Tomcat 5.0\webapps\ROOT\下建立test.jsp的页面文件,内容分别如下:This is tomcat1