[ 준비환경 ]
- 이 안내서에서는 개발용 호스트에 두개의 호스트 이름(aaa.co.kr, bbb.co.kr) 가 있다고 가정한다.
- 또한 하나의 Tomcat 인스턴스를 실행한다고 가정하며, $CATALINA_HOME 은 Tomcat 이 설치된 위치를 나타낸다. (ex: /usr/local/tomcat)
- 이 안내서에서는 유닉스 스타일의 경로 구분자와 명령어를 사용하며, Windows 를 사용하는 경우 이에 맞게 적절히 수정해서 사용한다.
[ ★ 작성자 내용 추가 ★ ]
- 아래의 공식 문서의 모든 사항을 작업하지 않더라도 동작은 된다.
- 공식문서 내용 끝나고 추가적인 설명과 실습을 하단에 기재함.
[ Webapps 디렉토리 ]
- 각 가상 호스트를 위한 디렉토리를 생성한다.
mkdir $CATALINA_HOME/aaaapps
mkdir $CATALINA_HOME/bbbapps
[ server.xml ]
- 가장 간단한 설정으로 server.xml 파일의 Engine 부분을 다음과 같이 수정한다.
<Engine name="Catalina" defaultHost="aaa.co.kr">
<Host name="aaa.co.kr" appBase="aaaapps"/>
<Host name="bbb.co.kr" appBase="bbbapps"/>
</Engine>
- 각 호스트의 appBase 하위의 디렉토리 구조는 서로 겹치지 않아야 한다.
- Engine 및 Host 요소의 다른 속성에 대한 정보는 해당 문서를 참고한다.
1004lucifer
[ Context 구성 ]
1. 일반적인 규칙
- Context 는 일반적으로 appBase 디렉토리 하위에 위치한다.
- 예를 들어 war 파일을 이용해 aaa.co.kr 호스트에서 foobar 컨텍스트를 배포하려면 $CATALINA_HOME/aaaapps/foobar.war 경로에 war 파일을 위치 시킨다.
- ren 의 기본 ROOT (/) 컨텍스트는 아래의 2개 방법중에 한가지 방법으로 배포된다.
1) WAR 파일 방법: $CATALINA_HOME/aaaapps/ROOT.war
2) 디렉토리 방법: $CATALINA_HOME/aaaapps/ROOT
- 참고: <Context>의 docBase 속성은 <Host>의 appBase 속성과 동일하면 안된다.
2. context.xml - 접근 방법 #1
- 컨텍스트 내부에 META-INF 디렉토리를 생성한 다음, context.xml 파일에 컨텍스트 내용을 정의한다.
- ex: $CATALINA_HOME/aaaapps/ROOT/META-INF/context.xml
- 이렇게 하면 WAR 파일을 배포하는 경우 배포가 더 쉬워진다.
3. context.xml - 접근 방법 #2
- 다음과 같이 가상 호스팅에 대한 구조를 $CATALINA_HOME/conf/Catalina 아래에 생성한다.
mkdir $CATALINA_HOME/conf/Catalina/aaa.co.kr
mkdir $CATALINA_HOME/conf/Catalina/bbb.co.kr
- 여기서 마지막 디렉토리 이름인 Catalina 는 Engine 요소의 name 속성을 나타낸다.
- 이제 기본 웹 애플리케이션을 위해 다음 파일을 추가한다.
$CATALINA_HOME/conf/Catalina/aaa.co.kr/ROOT.xml
$CATALINA_HOME/conf/Catalina/bbb.co.kr/ROOT.xml
- 각 호스트에 대해 Tomcat Manager WEB_Application 을 사용하려면 여기에도 추가해야 한다.
cd $CATALINA_HOME/conf/Catalina
cp localhost/manager.xml aaa.co.kr/
cp localhost/manager.xml bbb.co.kr/
4. host 별 기본값
- conf/context.xml 및 conf/web.xml 에서 보여지는 기본값을 호스트별 XML 디렉토리에 context.xml.default 및 web.xml.default 라는 이름의파일에 새로운 값을 기술하여 기본값을 덮어쓸 수 있다.
- 위 예제를 따라 가상호스트 ren 에 배포된 모든 WEB_Application 의 기본값을 커스텀 하려면 $CATALINA_HOME/conf/Catalina/aaa.co.kr/web.xml.default 를 사용할 수 있다.
5. 추가정보
- Context 요소의 다른 속성에 대한 설정은 해당 문서를 참고.
참조
- https://tomcat.apache.org/tomcat-11.0-doc/virtual-hosting-howto.html
[ ★ 작성자 내용 추가 ★ ]
- 위 내용의 디렉토리 생성부분은 Tomcat 기동 시 모두 자동으로 디렉토리 생성해 주기에 일부러 생성해줄 필요는 없다.
- 필수 작업은 server.xml 설정과 Context 디렉토리 생성만 해주면 된다.
- Context 설정이 추가적으로 필요한경우 conf/Catalina/{도메인명}/context.xml 파일을 생성 후 해당 파일에 설정해주면 된다.
[ 실습 ]
댓글
댓글 쓰기