Application Servers & Java

[3편] Tomcat 설치 및 설정 실무 가이드 – 디렉터리 구조, 커넥터 설정, WAR 배포

midworker 2025. 5. 15. 22:38
반응형

[3편] Tomcat 설치 및 설정 실무 가이드 – 디렉터리 구조, 커넥터 설정, WAR 배포

이전 2편에서는 Apache 설치 및 구성(MPM, mod_jk, 가상호스트 등)을 다뤘습니다.
이번 글에서는 Tomcat의 설치 방식, 설정 구조, WAR 배포 및 연동 방식을 실무 중심으로 정리합니다.


✅ Tomcat 설치 개요

Tomcat은 설치형이 아닌 압축 해제 방식으로 제공되며, 설치 시 다음과 같은 디렉터리 구조를 가집니다.

🔹 디렉터리 구조

디렉터리 설명
bin/ 실행 스크립트 (startup.sh, shutdown.sh)
conf/ 주요 설정 파일 (server.xml, web.xml, context.xml)
logs/ 로그 파일 저장 디렉터리
webapps/ WAR 파일 배포 디렉터리
lib/ Tomcat 및 JSP/Servlet 동작에 필요한 라이브러리
work/ 컴파일된 JSP, 서블릿 등 캐시 디렉터리
temp/ 임시 파일

✅ 환경 변수 설정

Tomcat은 JAVA 환경이 필수이며, JAVA_HOME 설정이 필요합니다.

export JAVA_HOME=/usr/java/jdk1.8.0_251
export CATALINA_HOME=/opt/tomcat
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH

✅ setenv.sh 설정 (JVM 옵션 등)

$CATALINA_HOME/bin/setenv.sh 파일 생성 후 다음과 같이 설정:

JAVA_OPTS="-Xms1024m -Xmx2048m -XX:+UseG1GC -Dfile.encoding=UTF-8"

JVM 튜닝 및 로그 출력 인코딩 설정에 필수


✅ server.xml 핵심 설정 정리

🔹 AJP 커넥터 설정 (Apache 연동용)

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

🔹 HTTP 커넥터 설정

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

🔹 Context 설정 (개별 WAR 설정 제어 가능)

<Context path="/app" docBase="app" reloadable="true" />

✅ WAR 배포 방식

Tomcat은 기본적으로 $CATALINA_HOME/webapps/ 경로에 WAR 파일을 복사하면 자동 배포됩니다.

🔹 배포 시 주의사항

항목 설명
파일명 ROOT.war로 배포하면 루트 경로(/)에서 실행됨
경로 webapps 하위에 자동 해제
로그 확인 catalina.out, localhost.log 등 확인 필수

✅ 로그 파일 확인

기본 경로: $CATALINA_HOME/logs/

파일명 설명
catalina.out Tomcat stdout/stderr 로그
localhost.log 각 요청에 대한 로그
manager.log Manager App 관련 로그

✅ Tomcat 서비스 등록 (리눅스 시스템 서비스로 실행)

1. 서비스 스크립트 생성

vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_251
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 서비스 등록 및 기동

systemctl daemon-reexec
systemctl enable tomcat
systemctl start tomcat

✅ 마무리

Tomcat은 압축 해제만으로도 빠르게 설치 가능하며, server.xml 설정과 setenv.sh JVM 튜닝이 운영의 핵심입니다.
다음 4편에서는 Apache-Tomcat 연동 후 XA 설정 및 장애 복구 방안(ORA-02049 등) 을 실무 사례 중심으로 다룹니다.

반응형