$CATALINA_BASE/conf 내에는 여러 종류의 설정 파일이 존재한다.
server.xml을 포함한 주요 설정 파일 및 Tomcat 구성 요소, 그리고 가상 호스트 구성에 대해 알아보자.
server.xml
<Connector>
, <Server>
, <Service>
, <Engine>
, <Host>
등의 구성 요소들을 확인할 수 있음
Server(org.apache.catalina.Server)
최상위 element로써, shutdown 요청 처리를 위한 address와 port속성을 가지고 있다.
각각 shutdown 요청을 받기 위해 listen하는 IP address와 포트를 설정하며 기본 값은 localhost 8005이다.
<Server port="8005" shutdown="SHUTDOWN">
port속성을 -1로 설정하면 shutdown 포트 기능을 사용하지 않는다.
shutdown 속성은 Shutdown 명령어(패스워드)를 설정한다.
Service(org.apache.catalina.Service)
<Service>하위에 있으며 <Connector>모음이다.
<Service>의 속성
- className
- name
<Service name="Catalina">
Engine(org.apache.catalina.Engine)
Engine Container의 기본 클래스는 o.a.catalina.StandardEngine이다.
Engine 엘리먼트는 name, defaultHost, jvmRoute 속성을 갖고있다.
- name : <Engine>의 이름
- defaultHost : <Engine>하위에 속한 <Host>가운데 하나이며, 어떤 도 처리하지 않는 요청을 처리한다.
- jvmRoute : Apache HTTP Server 등 front-end에 위치한 Load Balancer가 여러 Tomcat 인스턴스를 구분하기 위해 사용한다. 특히 클러스터 그룹 내의 jvmRoute는 각 인스턴스마다 고유해야 한다.
<Engine name="Catalina" defaultHost="localhost">
Host(org.apache.catalin.Hst)
Host Container는 가상 호스트 기능을 제공하며 기본 클래스는 o.a.catalina.standardHost이다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
- name : <Host>의 이름은 name 속성을 통해 설정한다. 상위 <Engine>내에 2개 이상의 <Host>가 구성되어 있다면 그 중 1개 <Host>가 <Engine>의 defaultHost값이 되어야 한다.
- appBase : <Host>의 애플리케이션 디렉터리 "/"를 포함한 절대 경로, 혹은 $CATALINA_BASE의 상대 경로로 설정하며 기본은 wbapps이다.
Context
Context는 <Host>내에 배포된 애플리케이션이다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="특정경로" path="/application1" reloadable="true"></Context>
...
이렇게 설정하게 되면 localhost/application1 로 접근시, docBase에 정의된 특정 경로의 파일을 찾게 된다. (권장되지는 않음)
Context 설정 방법 종류
- 각 애플리케이션의 META-INF/context.xml을 통해 설정한다. 만일 copyXML 속성이 true이면 context.xml파일을 자동으로 $CATALINA_BASE/conf/<Engie>/<Host> 디렉터리 아래의 [애플리케이션].xml 파일로 복사한다.
- $CATALINA_BSAE/conf/<Engie>/<Host> 디렉터리 하위에 [애플리케이션].xml을 만들어 설정한다. 이 때 애플리케이션 Contdxt Path와 같다.
- $CATALINA_BASE/conf/server.xml의 <Host>안에 설정한다. (권장되지 않음)
$CATALINA_BASE/conf/context.xml 파일은 Global context 파일이기 때문에 Tomcat 내의 모든 애플리케이션이 공통으로 사용한다.
$CATALINA_BASE/conf/<Engie>/<Host>/context.xml default 파일은 <Host>의 Global Context파일이기 때문에 <Host>하위 모든 애플리케이션이 사용한다.
'프로그래밍 노트 > 인프라' 카테고리의 다른 글
Apache 2.4 접근제어(Access Control) (0) | 2019.11.03 |
---|---|
아파치(Apache) 가상호스트(VirtaulHost) 설정 (0) | 2019.10.09 |
리눅스(Linux) yum..? (0) | 2019.08.18 |
[CentOS] 젠킨스(Jenkins)설치하기 (0) | 2019.08.18 |
[CentOS] 톰캣(Tomcat) 설치하기 (0) | 2019.08.18 |