Tomcat server.xml 설정
Tomcat server.xml 설정 — 포트·Connector·Host·접근 로그
이전 레슨에서 Tomcat 을 반입해 $BASE 아래 배치했다면, 이 레슨은 그 안의 server.xml 을 실제로 고칩니다. 포트와 종료(shutdown) 포트, HTTP Connector 의 스레드·인코딩·업로드 속성, AJP 커넥터 제거, Host 의 appBase 분리, 접근 로그(AccessLogValve), 그리고 nginx 뒤에서 실제 접속 IP 를 살리는 RemoteIpValve 까지 다룹니다.
이 PC 에는 Tomcat·nginx·systemd 가 없어 DRY_RUN=1 로 흐름과 설정 파일만 확인했고, 실제 설치는 RHEL 서버에서 bash 01_tomcat_server_xml.sh 로 합니다. 설정 파일 생성과 수정은 DRY_RUN 여부와 관계없이 항상 실제로 실행되며, 매 단계 끝에 파이썬(python3, 없으면 python)의 xml.dom.minidom 으로 XML 문법을 검증합니다.
1. 왜 배우는가
server.xml 은 Tomcat 인스턴스(instance) 전체의 동작을 결정하는 설정 파일입니다. 포트, 커넥터(Connector), 가상 호스트(Host), 접근 로그가 모두 여기 모입니다. 잘못 고치면 문법 오류로 기동조차 안 되므로 매 변경마다 검증하는 습관이 필요합니다.
기본 설치본은 개발용 값 그대로입니다. 실무에서는 스레드 수, 업로드 한도, 인코딩을 트래픽에 맞게 조정하고 쓰지 않는 AJP 커넥터를 지워야 합니다. nginx 를 앞에 두면 실제 접속 IP 와 프로토콜(http/https)을 Tomcat 에 전달하는 설정도 필요합니다.
이 레슨은 기본 server.xml 을 한 단계씩 고치며 각 변경이 실제 배포에서 왜 필요한지 설명합니다. 스크립트는 매 단계 파일을 sed 로 고치고 바로 XML 유효성을 검사해, 오타가 있으면 그 자리에서 드러나게 만들었습니다.