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' 

 

 

你可能感兴趣的:(apache,tomcat,linux,redhat,gcc)