[TOMCAT] Tomcat 서버 2대에 Instance를 각각 1개씩 생성하고 이중화 방법

ㅁ 목적
   - Tomcat 서버 2대에 Instance를 서버당 하나씩 생성하고 이중화 구성하여 물리적인 Tomcat 서버 장애에 대비함.

ㅁ 가정
   - Apache 서버(IP : 192.168.0.10)는 별도로 구성되어 있음.
   - Apache경로는 /usr/local/apache2임
   - Tomcat 서버 2대 HOSTNAME은 A(IP : 192.168.0.11), B(IP : 192.168.0.12) 임.
   - Tomcat 서버 2대에는 JAVA가 각각 설치되어 있음.

ㅁ 방법
   1) A서버 Tomcat 설치
     [root@Aserver /]# cd /usr/local/src/
     [root@Aserver /]# wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.0.M6/bin/apache-tomcat-9.0.0.M6.tar.gz
     [root@Aserver /]# tar xvfz apache-tomcat-9.0.0.M6.tar.gz
     [root@Aserver /]# mv apache-tomcat-9.0.0.M6 /usr/local/tomcatA

   2) B서버 Tomcat 설치
     [root@Bserver /]# cd /usr/local/src/
     [root@Bserver /]# wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.0.M6/bin/apache-tomcat-9.0.0.M6.tar.gz
     [root@Bserver /]# tar xvfz apache-tomcat-9.0.0.M6.tar.gz
     [root@Bserver /]# mv apache-tomcat-9.0.0.M6 /usr/local/tomcatB

   3) Apache 서버에서 Apache & Tomcat 연동
     [root@Apacheserver /]# cd /usr/local/src/
     [root@Apacheserver /]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
     [root@Apacheserver /]# tar xvfz tomcat-connectors-1.2.41-src.tar.gz
     [root@Apacheserver /]# cd tomcat-connectors-1.2.41-src
     [root@Apacheserver /]# cd native
     [root@Apacheserver /]# ./buildconf.sh
     [root@Apacheserver /]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
     [root@Apacheserver /]# make && make install

   4) Apache 설정
     [root@Apacheserver /]# vi /usr/local/apache2/conf/workers.properties

    ps=/
    worker.list=router

    # Set properties for tomcat1(tomcat1/port1) (ajp13)
    worker.tomcatA.port=8009
    worker.tomcatA.host=192.168.0.11
    worker.tomcatA.type=ajp13
    worker.tomcatA.lbfactor=1

    # Set properties for tomcat2(tomcat2/port2) (ajp13)
    worker.tomcatB.port=8010
    worker.tomcatB.host=192.168.0.12
    worker.tomcatB.type=ajp13
    worker.tomcatB.lbfactor=1

    # Define the LB worker
    worker.router.type=lb
    worker.router.balance_workers=tomcatA,tomcatB

     [root@Apacheserver /]# vi /usr/local/apache2/conf/httpd.conf

    # 아랫 줄을 설정값에 추가

    LoadModule jk_module modules/mod_jk.so

    <IfModule jk_module>
      JkWorkersFile conf/workers.properties
      JkLogFile logs/mod_jk.log
      JkLogLevel error
    </IfModule>

   5) apache 및 tomcat에 도메인, 경로 및 jvmroute 설정

     [root@Apacheserver /]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

    # apache 도메인 및 경로 설정시 </VirtualHost> 윗라인에 아래 항목 추가
      JkMount /*.jsp router
      JkMount /*.do router

     [root@Aserver /]# vi /usr/local/tomcatA/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcatA"를 추가해줌.
<Engine jvmRoute="tomcatA"

     [root@Bserver /]# vi /usr/local/tomcatB/conf/server.xml

    # <Engine 으로 시작하는 줄을 찾아 jvmRoute="tomcatB"를 추가해줌.
<Engine jvmRoute="tomcatB"

   6) apache 및 tomcat 시작

끝.