Tomcat9 자동배포(autoDeploy)

박성현·2025년 11월 4일

개발중 학습

목록 보기
29/43

📝 Tomcat9 자동배포 설정 가이드

왜 자동배포(auto-deploy)를 사용할까?

  • 보통 WAR 파일을 Tomcat의 webapps/ 디렉터리에 복사하고 서버를 재시작하거나 매뉴얼로 배포합니다.
  • 하지만 autoDeploy="true" 설정이 활성화되어 있으면, 실행 중인 Tomcat이 동작하면서 해당 디렉터리에 새 WAR 파일을 감지하여 자동으로 배포 / 재배포 해줍니다. ([tomcat.apache.org][1])
  • 이를 통해 배포 자동화 작업(빌드 → 복사 → 적절한 명령)만 해준다면, 수동 재시작 혹은 매뉴얼 배포 없이도 새로운 버전을 운영 중인 서버에 적용할 수 있어 효율이 높습니다.

✅ 설정 방법

  1. Tomcat 설치 디렉터리 내 conf/server.xml 파일을 엽니다.

  2. <Host> 태그 내에서 appBase, unpackWARs, autoDeploy, deployOnStartup 등의 속성을 확인 및 설정합니다. 예:

    <Host name="localhost"
          appBase="webapps"
          unpackWARs="true"
          autoDeploy="true"
          deployOnStartup="true"></Host>

    주요 속성 설명:

    • appBase: 웹 애플리케이션을 배포할 기본 디렉터리 (보통 webapps)
    • unpackWARs="true": WAR 파일을 자동으로 풀어서(explode) 디렉터리 형태로 배포
    • autoDeploy="true": 실행 중인 서버에서 WAR 파일 변경을 감지하여 자동 배포/재배포
    • deployOnStartup="true": Tomcat 시작 시 appBase 내에 있는 애플리케이션을 자동으로 배포

    위 설정으로 하면, WAR 파일을 webapps/ 디렉터리에 복사해 넣는 것만으로 자동으로 배포됩니다.


🔧 실제 배포 절차

  1. 애플리케이션 빌드를 통해 .war 파일을 생성합니다.
  2. Tomcat이 실행 중인 서버의 webapps/ 폴더에 생성된 yourapp.war 파일을 복사하거나 덮어씁니다.
  3. Tomcat이 자동으로 해당 WAR 파일을 감지하고, 새로운 버전이면 자동으로 배포 또는 재배포 합니다.
  4. 배포가 완료되면 해당 애플리케이션 URI(/yourapp)로 접속해 정상 동작을 확인합니다.

⚠️ 주의사항 & 팁

  • 버전 관리 및 파일 이름 주의: 동일한 컨텍스트 경로로 배포될 경우 기존 디렉터리가 삭제되거나 덮어써질 수 있으므로 백업이나 로그 확인이 필요합니다.
  • unpackWARs=false 옵션: WAR 파일을 풀지 않고 압축 상태 그대로 배포하고 싶다면 unpackWARs="false"로 설정할 수 있습니다. 다만 이 경우 일부 리로딩 동작이 제한될 수 있습니다. ([tomcat.apache.org][1])
  • 운영 중인 서비스 주의: 자동 재배포 시 애플리케이션이 잠시 리스타트될 수 있으므로, 세션 유지나 트래픽붐 타이밍을 고려해야 합니다.
  • 보안 및 권한 설정: autoDeploy=true 상태라면 누구나 해당 디렉터리에 WAR를 복사할 경우 배포되므로 권한 관리를 반드시 해야 합니다.
  • 배포 경로 외 지정: WAR 파일을 webapps/ 외 다른 경로로 지정하려면 appBase를 별도 디렉터리로 바꾸거나 <Context> 설정을 이용해야 합니다. ([Stack Overflow][2])

🔍 요약

“Tomcat9에서 autoDeploy="true"로 설정하면, 실행 중인 서버에 WAR 파일을 복사하기만 하면 자동으로 배포됩니다.”
배포 프로세스를 간소화하고자 한다면 이 옵션을 활용하세요. 다만 운영 환경에서는 자동화로 인한 리스크(세션 유실, 권한문제 등)도 함께 고려해야 합니다.


profile
개발기록장

0개의 댓글