blackhole 发表于 2013-1-16 02:10:22

apache+tomcat集群配置

一、安装概述

    本介绍了在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'  
 
页: [1]
查看完整版本: apache+tomcat集群配置