一、安装概述
本介绍了在redhat-5.4中配置apache 2.2+tomcat5.5集群的操作过程及配置方法。将指导开发及运维人员完成以下安装配置过程:
准备安装文件及检查软硬件环境。
安装apache。
安装tomcat。
配置负载均衡。
优化tomcat。
优化apache。
Apache-tomcat集群配置完成结果:
Apache-httpd服务正常运行。
Apache-tomcat集群正常运行。
二、安装准备
硬件要求
Cpu:
Memory:
Hard Disk:
软件要求
OS:redhat 5.4
Application-tools:gcc。如果系统中没有安装gcc,则无法编译安装apache,请参考《redhat5.4 gcc install guide》安装gcc。
获取安装文件
Apache:http://www.apache.org/dist/httpd/中下载httpd-2.2.17.tar.gz
Tomcat:http://www.apache.org/dist/tomcat/tomcat-5/v5.5.33/bin/中下载apache-tomcat-5.5.33.tar.gz
Mod_jk:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/i386/中下载mod_jk-1.2.31-httpd-2.2.x.so。
三、开始安装
安装apache
1. 将httpd-2.2.17.tar.gz解压到当前文件夹,解压命令为tar –zxvf httpd-2.2.17.tar.gz.
2. 进入解压后的httpd-2.2.17文件夹,编译httpd,具体命令如下:
./configure --prefix=/opt/apache --enable-modules=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite Make Make install
3. 上述命令正常执行后,apache已经安装结束,运行安装目录下的bin/apacheatcl start启动apache服务,访问http://localhost测试安装是否成功。
安装tomcat
1. 将apache-tomcat-5.5.33.tar.gz解压到当前文件夹,解压命令为tar –zxvf apache-tomcat-5.5.33.tar.gz.
2. 将解压后的文件夹拷贝到/opt/目录下,并将解压文件重命名为tomcat,同时再拷贝一份到/opt/目录下,重命名为tomcat2,具体命令如下:
cp /home/admin/tools/apache-tomcat-5.5.33 /opt/ cd /opt mv apache-tomcat-5.5.33 tomcat cp /home/admin/tools/apache-tomcat-5.5.33 /opt/ cd /opt mv apache-tomcat-5.5.33 tomcat2
3. 修改tomcat及tomcat2目录下的conf/server.xml。其中tomcat2的conf/server.xml下的端口需要修改已避免冲突,修改位置如下:
//tomcat2需要修改此处端口 <Server port="8006" shutdown="SHUTDOWN"> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> //tomcat2需要修改此处端口 <Connector port="8081" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <!-- Define an AJP 1.3 Connector on port 8009 --> //tomcat2需要修改此处端口 <Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> //tomcat和tomcat2都需要将此处的注释去掉,其中jvmRoute对应于worker.properties里面配置的tomcat名称。 <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> // tomcat和tomcat2都需要将此处的注释去掉 <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.cluster.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.cluster.mcast.McastService" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> //tomcat2修改此处端口 <Receiver className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="auto" tcpListenPort="4002" tcpSelectorTimeout="100" tcpThreadCount="6"/> <Sender className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000" waitForAck="true"/> <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/> </Cluster>
4. 配置完成后,可以启动tomcat测试是否成功。
四、配置集群
Apache集群配置
1. 进入apche安装目录的conf/文件夹下,创建workers.properties文件,并填写如下内容:
worker.list = controller,tomcat,tomcat2
#========tomcat1========
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
worker.tomcat.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========controller,========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat,tomcat2
worker.controller.sticky_session=false
2. 在当前目录再次创建mod_jk.conf文件,并填写如下内容:
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so
JkWorkersFile conf/workers.properties
JkMount /* controller
3. 修改当前目录下的httpd.conf文件,在文件最后加上如下语句:
include conf/mod_jk.conf
4. 将下载的mod_jk-1.2.31-httpd-2.2.x.so文件拷贝到/opt/apache/modules下。
待部署应用程序集群配置
1. 待部署应用需要在web.xml中加入语句<distributable/>
性能调整
1. 修改tomcat最大连接数
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" acceptCount="100" />
修改tomcat启动参数
JAVA_OPTS='$JAVA_OPTS -server -Xmx800m -Xms512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'