Tomcat·nginx 배포·재기동
Tomcat·nginx 배포·재기동 — war 배포 스크립트, catalina.sh, nginx -t 와 reload
jar 가 아닌 war 로 Tomcat 에 배포하는 서버, 그 앞에서 80 포트를 받아 넘기는 nginx 를 다룹니다. war 를 안전하게 교체하고 Tomcat 을 재기동하는 스크립트와, 설정 검사 뒤 연결을 끊지 않고 nginx 를 다시 읽게 하는 스크립트를 만듭니다.
1. 왜 배우는가
사내 시스템 중 상당수는 아직 war 를 Tomcat 에 올리는 방식입니다. webapps/ 에 파일을 복사하는 것은 쉽지만 옛 클래스가 남거나 JSP 캐시가 꼬여 "분명 배포했는데 예전 화면" 이 나오는 일이 흔합니다.
nginx 는 자바 서버 앞에서 80·443 을 받아 8080 으로 넘기고 정적 파일을 대신 서비스합니다. 설정 한 줄을 잘못 고치고 restart 하면 nginx 가 안 뜨고 모든 서비스가 끊깁니다. nginx -t 로 검사하고 reload 로 바꾸는 습관이 그 사고를 막습니다.
두 작업 모두 "정지 → 교체 → 시작 → 확인" 순서가 정해져 있습니다. 순서를 스크립트에 넣어 두면 새벽 배포에서도 단계를 빠뜨리지 않습니다. 이 레슨의 스크립트는 Tomcat·nginx 가 없는 Git Bash 에서 DRY_RUN=1 로 흐름을 검증했고, 실제 명령은 서버에서 그대로 동작합니다.