본문 바로가기
[AWS]/ROG

[AWS] [Tomcat] Tomcat에 war 배포하는 방법

by SAMSUNG CLOUD-OKY 2022. 3. 4.
반응형

 

 

war 파일은 Web Application aRchive의 약자로 웹 애플리케이션을 이루는 요소들을 한곳에 모아 배포하는데 사용되는 JAR 파일이다. 
흔히들 이클립스를 사용하고 로컬에서 웹 애플리케이션을 실행한다면 이러한 배포를 별도로 진행하지 않을 것이다.
이는 이클립스에서 자동으로 등록된 톰캣 서버에 배포를 진행하기 때문이다.

그렇다면 IDE의 자동 배포가 아니라 직접 배포를 해야한다면 어떻게 하는지 알아볼 것이다. 

 

War 생성하기


우선 웹 애플리케이션의 war파일을 생성해야한다. 

이클립스에서는 아주 간편하게 war파일을 생성해주는데 방법은 아래와 같다.

프로젝트 우클릭 -> export 클릭 -> war 검색 후 선택 -> war파일 이름과 저장 경로 선택 -> 생성 완료

이때 war파일명은 ROOT로 지정하거나 별도의 tomcat설정을 통해 다른 이름으로 지정할 수 있다. 

 

 

 

Tomcat에 배포하기



이제 배포를 위해서 tomcat으로 이동한다.
[tomcat설치폴더]/webapps로 이동하면 이미 ROOT라는 폴더가 존재할 것이다. 

참고로 war파일을 해당 위치에 넣으면 tomcat 구동 시 자동으로 압축이 풀리게 된다.
 

방법 1 : ROOT.war로 생성한 경우

  1. 기존 ROOT파일의 이름을 변경한다.
  2. ROOT라는 이름으로 생성했던 war파일을 webapps 폴더 내부로 이동시킨다.

tomcat은 별도의 설정이 없으면 자동으로 webapps내 ROOT폴더를 root로 실행한다.
따라서 ROOT라는 이름을 사용하게 되면 별도의 설정을 할 필요가 없다.

 


방법 2 : 다른이름으로 war을 생성한 경우 

  1. 1번 방법과 동일하게 webapps 폴더 내부에 war파일을 위치시킨다. 
  2. webapps를 빠져나와 tomcat설치폴더/conf/server.xml을 편집툴로 연다. 
  3. Host태그 내부에 <Context path="[경로]" docBase="[war파일의 이름]"  reloadable="false" > </Context>를 추가한다.  
    • 이 설정은 tomcat서버에서 하나의 가상경로를 추가하는 방법으로 path="/"로 설정하면 ROOT폴더 대신 등록한 폴더가 실행된다.


예시 : root context를 example로 등록 (example.war)

1
2
3
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context path="/" docBase="example"  reloadable="false" > </Context>  
</Host>
cs
 


이제 tomcat을 실행하게되면 war파일이 자동으로 풀리면서 폴더가 생성되고 웹 애플리케이션이 실행된다.



이렇게 war파일을 tomcat에 배포하는 방법을 알아보았다. 참고로 Maven을 통해서도 war파일을 쉽게 생성할 수 있다.

 

 

 

 

 

 

출처 : 

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

반응형

댓글