톰캣 바이너리 하나로 인스턴스를 여러개 띄울 수 있다.

인스턴스 디렉토리(instanceN/)을 만들고 
conf/를 복사하고 temp/를 만든다.
(logs/work/는 자동으로 생긴다. webapps/는 사용하지 않는다면 없어도 될듯)

server.xml을 수정한다.
  • 인스턴스1 포트를 81NN대로 수정한다.
    인스턴스2는 82NN대로 설정한다.
  • Context를 설정한다.
    1.<Context path="/test" docBase="/testApp"/>
    2.</Host>
    3.</Engine>
    4.</Service>
    5.</Serv

인스턴스 구동 배치파일(instanceN/bin/startup.bat)을 작성한다.
@echo off

set CATALINA_HOME=E:\resources\programs\java\apache-tomcat-6.0.18
set CATALINA_BASE=E:\instanceN
rem set CATALINA_BASE=C:\Documents and Settings\computer\바탕 화면\tomcat //공백이 있다고 "로 감싸지 않는다.
"%CATALINA_HOME%/bin/startup.bat"

각 인스턴스를 구동하고 접속해 본다.
- http://localhost:8180/test
- http://localhost:8280/test

소스는 한곳을 보고 있기 때문에 수정하면 모든 인스턴스에 적용된다.

- Manager Application1
CATALINA_HOME/webapps/manager/ 를 복사해서 CATALINA_BASE/webapps/ 에 두면 사용할 수 있다.
  1. 2010-08-24 추가 [본문으로]


출처 - http://pantarei.tistory.com/753#footnote_link_753_1


===================================================================================


Tomcat을 1개만 설치하고 사용자에 따라서 톰캣을 여러개 띄워야 할 경우 사용자마다 Tomcat을 깔아주지 않고

해결할수 있는 방법입니다.

1. 톰캣 설치시에 CATALINA_HOME이라는 환경 변수를 잡아주도록 되어있습니다.

이 값은 Tomcat이 설치된 디렉토리를 지정해줍니다. 이 값은 톰캣 서버의 실행파일이나 클래스 패스등을 잡을때

사용하는 실행 경로라고 보시면 될것 같습니다.

 

이것 말도 톰캣을 여러개 띄우기 위해서는CATALINA_BASE라는 환경변수를 잡아주면 됩니다.

CATALINA_BASE는 개별 톰캣 instance들을 위한 기본 디렉토리로 볼수 있습니다.

예제를 보시면 확실해 지실것입니다.

 

2. 기존 톰캣의conf, logs, webapps, work, temp디렉토리를 새로운 톰캣 인스턴스를 위해 새로운 디렉토리를

만들고 그 디렉토리에 복사를 합니다.

 

3. conf디렉토리의 server.xml을 수정합니다. 포트번호라던지 Host설정 및 디렉토리정보를 수정해야됩니다.

 

4. 새로운 톰캣 instance를 띄우기 위해서 간단한 스크립트를 작성합니다.

 

 

다음은 윈도우즈 2000에서 blog와 club을 위해 별도의 톰캣 instance를 뛰우기 위해 설정하는 예입니다.

톰캣이 D:\Tomcat 디렉토리에 설치되어 있다고 가정합니다.

 

1. D:\Tomcat 디렉토리에 blog와 club이라는 디렉토리를 생성합니다.

 

2. blog와 club디렉토리에 D:\Tomcat 디렉토리에 있는 conf, logs, webapps, work, temp를 복사합니다.

 

3. blog와 club의 conf디렉토리에 server.xml을 열어서 포트정보등을 다른 것들과 충돌나지 않도록 수정해줍니다.

 

<!-- shutdown관련 포트 -->

<Server port="8025"shutdown="SHUTDOWN" debug="0">

 

<!-- 아파치 웹서버와 통신을 위한 포트 -->

  <Service name="Tomcat-Standalone">
  <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
  port="8029"minProcessors="5" maxProcessors="70"
  acceptCount="10" debug="0"/>

 

                <!-- Documnet Root -->

                <Context path="" reloadable="true" docBase="D:\Tomcat\blog\webapps"/>



4 . blog, club을 기동시키기 위한 bat파일을 만들어줍니다.

 

D:\Tomcat\blog\startup.bat파일의 예입니다.

 

set CATALINA_HOME=D:\Tomcat
set CATALINA_BASE=%CATALINA_HOME%\blog

%CATALINA_HOME%\bin\startup.bat

 

5. 각각 startup.bat파일을 실행시키면 blog, club의 톰캣 instance가 하나씩실행됩니다.

stop시키는 스크립트는 귀찮아서 안만들었습니다. 당연한 말이겠지만 blog를 종료시키도

club은 아무 영향을 받지 않습니다.

 

이상 톰캣을 1개만 깔고 인스턴스만 여러개 띄우는 초보적인 방법이었습니다.

잘못된점이나 잘안되면 문의주시기 바랍니다. - -

 

 

write by 민선기 팀장님


출처 - http://levin01.tistory.com/113


Posted by linuxism
,