Linux

[Apache Tomcat] WAR 배포

비번변경 2022. 8. 24. 19:06

개요

2022.08.23 - [Ubuntu] Apache Tomcat 설치에서 설치한 Tomcat에 WAR로 패키징된 애플리케이션을 배포하려고 한다.

배포할 애플리케이션은 이미 maven 등으로 빌드해두었다고 가정한다.

이 글에서는 https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/에서 제공하는 예제 애플리케이션을 사용할 것이다.

 

 

배포 방법 1. 기본 이름(ROOT.war) 사용

Tomcat은 기본적으로 설치 경로(CATALINA_HOME)의 webapps 아래에 war 파일이 존재하면 자동으로 압축을 풀고 애플리케이션을 실행한다.

이 때 war 파일의 이름을 ROOT로 지정하면 별다른 설정 없이 애플리케이션을 실행할 수 있다.

# webapps 디렉터리로 이동
cd CATALINA_HOME/webapps/

# 기존 애플리케이션 삭제
rm -r ROOT

# 배포할 애플리케이션 이름 변경
mv <YOUR_APP>.war ROOT.war

sample.war 이름 변경

이후 tomcat을 실행하면 압축이 풀리면서

자동 압축 해제 및 배포 확인
웹 브라우저로 접속 확인

새로 배포한 애플리케이션이 동작하는 모습을 확인할 수 있다.

 

 

배포 방법 2. 기존 이름 사용

배포할 애플리케이션의 이름을 그대로 사용할 수도 있다.

webapps 디렉터리에 내에 배포할 WAR 파일을 위치시킨다. 기존 애플리케이션인 ROOT 디렉터리는 삭제한다.

sample.war 파일 업로드

CATALINA_HOME/conf/server.xml 파일 중 Host 태그 내에 아래와 같이 Context 태그를 추가한다. 이 글에서는 루트(/) 경로로 접속하면 sample 애플리케이션을 로딩하도록 설정했다.

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="<PATH>" docBase="<WAR_FILENAME>"  reloadable="false" > </Context>
</Host>

# 예시
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="/" docBase="sample"  reloadable="false" > </Context>
</Host>

Context 태그 추가

💡
Host 태그를 보면 appBase 속성에 의해 애플리케이션의 기본 디렉터리가 webapps로 설정되어 있는 것을 볼 수 있다. 또한 uppackWARS, autoDeploy가 true로 설정되어 있기 때문에 애플리케이션 파일은 webapps에 위치시킨 것만으로 서비스 배포가 가능한 것이다.

 

이제 tomcat을 실행하면 sample 애플리케이션에 접속할 수 있다.

접속 확인

 

 

참고 문서

https://www.lifencoding.com/web/28?p=1