톰캣을 구성하는 디렉토리 구조는 다음과 같다.


디렉토리명

설명

톰캣엔진

사용

인스턴스

사용

 bin

 톰캣 실행시 사용하는 스크립트 디렉토리

 

 conf

 웹 어플리케이션에 필요한 설정 파일 디렉토리

 

 lib

 톰캣에서 사용하는 라이브러리 디렉토리

 

 logs

 로그 디렉토리

 

 temp

 임시 파일 디렉토리

 

 webapps

 웹 어플리케이션 배포 디렉토리

 기본으로 docs, examples, host-manager, manager가 존재한다.

 

 work

 JSP가 Servlet 컴파일되는 디렉토리

 


[톰캣엔진에서 사용]으로 표시된 디렉토리는 톰캣엔진이 실제 구동될 때 사용하는 디렉토리를 의미하며,

[인스턴스에서 사용]으로 표시된 디렉토리는 웹 어플리케이션에서 웹서비스를 위해 사용하는 디렉토리들을 의미한다. 이 디렉토리들은 톰캣 환경변수 CATALINA_BASE와도 관련이 있다.


다음은 톰캣 환경변수 정보이다.


환경변수명

설명

 CATALINA_BASE

 톰캣 구동시 띄워지게 되는 웹서비스 인스턴스의 베이스 디렉토리

 conf, logs, temp, webapps, work 디렉토리를 포함하는 홈 디렉토리를 의미한다.

 CATALINA_HOME

 톰캣 설치 홈 디렉토리

 CATALINA_TMPDIR

 톰캣 인스턴스의 임시 디렉토리

 JRE_HOME

 자바 런타임 디렉토리

 CLASSPATH

 클래스패스 경로


환경변수에서는 CATALINA_BASE의 의미에 대해 살펴보자.


CATALINA_BASE는 인스턴스 단위에 대한 베이스 디렉토리이다.

톰캣 설치시 CATALINA_BASE에 관한 디렉토리들이 톰캣 홈 디렉토리 하위에 포함되기 때문에, CATALINA_BASE와 CATALINA_HOME의 경로가 같은 것이다.

톰캣이 시작되면 CATALINA_BASE의 conf, logs, temp, webapps, work 디렉토리 설정 등을 물고 구동되어 웹서비스를 제공하게 된다.


bin 디렉토리의 version.sh 스크립트를 실행하면 환경변수 정보를 확인할 수 있다.


[root@localhost bin]# ./version.sh 
Using CATALINA_BASE:   /root/apps/tomcat
Using CATALINA_HOME:   /root/apps/tomcat
Using CATALINA_TMPDIR: /root/apps/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_91
Using CLASSPATH:       /root/apps/tomcat/bin/bootstrap.jar:/root/apps/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.69
Server built:   Apr 11 2016 07:57:09 UTC
Server number:  7.0.69.0
OS Name:        Linux
OS Version:     3.10.0-123.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_91-b14
JVM Vendor:     Oracle Corporation


만약, 톰캣 인스턴스를 2개 운영해야 한다면...


~/deploy/inst1

ㄴ conf

ㄴ logs

ㄴ temp

ㄴ webapps

ㄴ work


~/deploy/inst2

ㄴ conf

ㄴ logs

ㄴ temp

ㄴ webapps

ㄴ work


위와 같이 나누고, conf 디렉토리의 server.xml 설정에서 Server 포트, HTTP 포트, AJP 포트, REDIRECT 포트를 다르게 설정해준다. 그리고 구동 스크립트를 2개로 나누어 CATALINA_BASE를 따로 설정하여 띄우면 된다.


[startup-1.sh]

#! /bin/sh


#! usr/bin/env bash

export CATALINA_BASE=~/deploy/inst1

export CATALINA_OPTS="-Denv.servername=inst1"


./startup.sh


[startup-2.sh]

#! /bin/sh


#! usr/bin/env bash

export CATALINA_BASE=~/deploy/inst2

export CATALINA_OPTS="-Denv.servername=inst2"


./startup.sh



'서버 > 톰캣' 카테고리의 다른 글

[톰캣] server.xml 설정  (1) 2016.07.01
[톰캣] conf 디렉토리 설정파일  (1) 2016.06.24
[톰캣] 톰캣7 설치  (0) 2016.05.30
[톰캣] setenv.sh 활용하기  (0) 2016.05.23
[톰캣] 버전별 Servlet, JSP, JAVA 지원 스펙  (0) 2016.04.12
Posted by SungHoon, Park
,