본문 바로가기
#IT 업무노트

[Cluster 전환 #7] N개 프로젝트 하나의 Tomcat으로 실행하기

by 꾸미라기 2024. 6. 27.
반응형
SMALL

2024.06.26 - [#IT 업무노트] - [Cluster 전환 #6] N개 프로젝트 도커 파일 빌드 가이드

 

결론부터 말하자면 아래 Context 설정을 Tomcat server.xml에 넣으면 됩니다.
Tomcat의 server.xml 파일에서 <Context> 요소는 웹 애플리케이션의 구성 요소를 정의하며 주어진 예제에서는 세 개의 웹 애플리케이션이 설정되어 있습니다.
각 <Context> 요소는 특정 웹 애플리케이션의 루트 컨텍스트 경로와 문서 기본 경로를 설정합니다.
(docbase tomcat/webapps/SKInnovation_A.war, SKInnovation_B.war, SKInnovation_c.war 를 의미)
<Context docBase="SKInnovation_A" path="/aapp" reloadable="true" source="org.eclipse.jst.j2ee.server:SKInnovation_A"/>
<Context docBase="SKInnovation_B" path="/bapp" reloadable="true" source="org.eclipse.jst.j2ee.server:SKInnovation_B"/>
<Context docBase="SKInnovation_C" path="/capp" reloadable="true" source="org.eclipse.jst.j2ee.server:SKInnovation_C"/>

 

1. docBase
웹 애플리케이션의 문서 루트를 지정합니다. 이는 웹 애플리케이션의 컨텐츠가 위치한 디렉토리 또는 WAR 파일입니다.
docBase="SKInnovation_A"는 SKInnovation_A 디렉토리 또는 WAR 파일을 웹 애플리케이션의 문서 루트로 사용합니다.
 
2. path
웹 애플리케이션의 컨텍스트 경로를 지정합니다. 클라이언트가 웹 애플리케이션에 접근할 때 사용하는 URL의 일부입니다.
path="/aapp"는 웹 애플리케이션이 http://hostname:port/aapp 경로를 통해 접근할 수 있음을 의미합니다.
 
3. reloadable
true로 설정하면, Tomcat은 해당 웹 애플리케이션의 클래스 파일이나 라이브러리 파일이 변경되었을 때 자동으로 재로드합니다. 이 설정은 개발 환경에서 유용합니다.
reloadable="true"는 애플리케이션 파일이 변경되면 자동으로 애플리케이션을 재로드하도록 설정합니다.
 
4. source
Eclipse와 같은 IDE와의 통합에 사용됩니다. 이 속성은 일반적으로 Eclipse 플러그인에 의해 생성되고 관리됩니다.
source="org.eclipse.jst.j2ee.server:SKInnovation_A"는 Eclipse 서버 어댑터가 이 컨텍스트를 관리할 때 사용됩니다.
 
5. 추가 고려사항
(1) reloadable="true" 설정은 개발 환경에서는 유용하지만, 운영 환경에서는 성능 저하를 일으킬 수 있습니다.
운영 환경에서는 이 설정을 false로 설정하거나 아예 제거하는 것이 좋습니다.
 
(2) docBase 경로가 Tomcat의 기본 웹 애플리케이션 디렉토리(webapps 등)와 충돌하지 않도록 주의해야 합니다. 또한, 보안을 위해 외부에서 접근 가능한 디렉토리 구조를 신중히 설정해야 합니다.
이러한 설정을 통해 각 애플리케이션이 독립적으로 배포되고 관리되며, 사용자는 정의된 컨텍스트 경로를 통해 각 애플리케이션에 접근할 수 있습니다.
반응형