TOMCAT Multi-Instance & Service Regist (Windows)

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:December 7, 2020

* 이 글은 윈도우즈 시스템 및 JDK1.6, TOMCAT6를 기반으로 작성 되었습니다.

TOMCAT의 인스턴스가 이미 디폴트 상태로 존재하고 있음을 가정으로 진행한다.
신규 인스턴스는 C:TestServer 폴더에 생성하는 것으로 가정한다.
배치 스크립트명은 다음과 같이 정한다. 인스턴스 시작 : startup.bat, 인스턴스 종료 : shutdown.bat, 서비스 등록 : TomcatServiceRegist.bat
신규 인스턴스의 TOMCAT 서비스명은 TomcatService로 등록한다. 

  • C:TestServer 폴더를 생성한다.
  • 생성한 C:TestServer 폴더 내부에 최초 설치된 톰켓과 동일하게 비어있는 폴더(bin, conf, logs, temp, webapps)를 생성한다.
  • 기존에 등록된 인스턴스의 conf 폴더에서 server.xml, web.xml 파일을 신규 생성할 인스턴스의 C:TestServer 내부의 conf 폴더로 복사한다.
  • server.xml 파일의 port 정보를 기존에 등록 된 인스턴스의 포트와 중복되지 않게 설정한다.
  • C:TestServer 폴더 내부의 bin 폴더에 다음의 스크립트를 생성한다.
  • startup.bat (인스턴스 시작 스크립트)
    set JAVA_HOME=D:JavaJDK1.6      (JAVA_HOME을 설정한다.)
    set CATALINA_HOME=D:Tomcat 6    (TOMCAT이 설치된 경로를 설정한다.)
    set CATALINA_BASE=C:TestServer   (신규 생성할 인스턴스 경로를 설정한다.)

    %CATALINA_HOME%/bin/startup.bat   (기존 TOMCAT 인스턴스의 startup.bat 파일을 호출한다.)

    shutdown.bat (인스턴스 종료 스크립트)
    set JAVA_HOME=D:JavaJDK1.6     (JAVA_HOME을 설정한다.)
    set CATALINA_HOME=D:Tomcat 6   (TOMCAT이 설치된 경로를 설정한다.)
    set CATALINA_BASE=C:TestServer  (신규 생성할 인스턴스 경로를 설정한다.)

    %CATALINA_HOME%/bin/shutdown.bat  (기존의 TOMCAT 인스턴스의 shutdown.bat 파일을 호출한다.)

    * 웹어플리케이션의 디플로이 경로는 C:TestServerwebappsSampleWebApp에 하는 것으로 가정한다.

    TomcatServiceRegist.bat (서비스 등록 스크립트, 환경에 따라 수정 필요)
    D:Tomcat 6bintomcat.exe -install TomcatService D:JavaJDK1.6jrebinserverjvm.dll -Djava.library.path=C:TestServerwebappsSampleWebAppWEB-INFlib -Djava.class.path=C:TestServerwebappsSampleWebAppWEB-INFlibsample-lib.jar;C:TestServerwebappsSampleWebAppWEB-INFclasses;C:TestServerwebappsSampleWebAppWEB-INFclassessample;D:Tomcat 6binbootstrap.jar; -Dcatalina.base=C:TestServer -Dcatalina.home=D:Tomcat 6 -server -Xmx256M -Xms256M -Xrs -Xnoclassgc -start org.apache.catalina.startup.Bootstrap -params start
    @echo Please start the TomcatService now.
    @pause

    스크립트 작성 완료 후 웹어플리케이션을 디플로이 한다.
    신규 인스턴스를 시작하여 웹어플리케이션이 정상적으로 동작하는지 확인한다.
    신규 인스턴스를 종료하고 서비스등록 스크립트를 실행하여 Windows Service로 등록하고 정상적으로 등록이 되었는지 확인한다.
    Author Details
    Linus Lee aka y1sh former ATiMania.com sysop during 2001-2012. DevSecOps Engineer who likes tech, science, programming and solving problems 🙂
    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    0 Comments
    Inline Feedbacks
    View all comments