Tomcat 설정
⚙️ Tomcat 설정이란?
정의
Tomcat 설정은 서버 실행 환경, 포트, 메모리, 컨테이너 동작 조건을 조정하는 작업이다. 주로
server.xml,web.xml,context.xml을 중심으로 설정한다.
📁 주요 설정 파일
server.xmlweb.xmlcontext.xml- 포트 설정
- 문자 인코딩 설정
포인트
설정 파일별 역할을 구분해두면 어디를 수정해야 하는지 빠르게 판단할 수 있다.
🧩 server.xml
- Tomcat 전체 서버 구조를 정의한다.
Server,Service,Connector,Engine,Host등을 설정한다.
샘플
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
🧱 컴포넌트 별 설명
Server
server.xml의 최상위 컴포넌트다.- Tomcat 인스턴스 전체를 감싼다.
Listener
- Tomcat 시작/종료 시 필요한 이벤트를 처리한다.
GlobalNamingResources
- 전역 JNDI 리소스를 정의하는 영역이다.
Resource
- 데이터베이스 같은 외부 자원을 JNDI로 등록할 때 사용한다.
Service
- 하나 이상의
Connector와Engine을 묶는 단위다.
Connector
- 외부 요청을 받는 포트와 프로토콜을 정의한다.
- HTTP, AJP 같은 연결 방식을 설정한다.
Engine
- 요청을 어느
Host로 보낼지 결정하는 핵심 컨테이너다.
Realm
- 인증과 권한 관련 설정을 담당한다.
Host
- 가상의 호스트를 정의한다.
webapps배포와 로깅 정책을 함께 둘 수 있다.
Valve
- 요청/응답 처리 중간에 끼워 넣는 필터 같은 역할을 한다.
- 접근 로그를 남길 때 자주 사용한다.
🛠️ 자주 살펴보는 설정 항목
- 포트 충돌 여부
redirectPortappBaseunpackWARsautoDeploy- 문자 인코딩
- 접근 로그
🔎 확인 시점
- 서비스 포트가 다른 프로세스와 충돌하지 않는지
- 개발/운영 환경 설정 차이를 관리하는지
- 배포 경로와 자동 배포 여부가 의도와 맞는지
[!important] 주의 설정 변경 후에는 Tomcat 재시작이 필요한 경우가 많다. 운영 환경에서는 포트, 메모리, 리소스 설정을 함부로 바꾸지 않는 것이 좋다.
🧾 정리
Tomcat 설정은 서버 실행 방식과 요청 처리 구조를 조정하는 핵심 작업이다.
특히 server.xml의 Connector, Engine, Host를 이해하면 Tomcat 구조를 훨씬 쉽게 볼 수 있다.
댓글남기기