본문 바로가기

Applications/Apache & Tomcat

Tomcat 에서 .war 파일을 실행시키는 두가지 방법

Tomcat에 배포하기

배포를 위해서 tomcat으로 이동한다.
tomcat설치폴더/webapps로 이동하면 이미 ROOT라는 폴더가 존재합니다. 
참고로 war파일을 해당 위치에 넣으면 tomcat 구동 시 자동으로 압축이 풀리게 된다.

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

- ROOT.war 라는 war파일을 webapps 폴더 내부로 이동시킨다.

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

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

-  1번 방법과 동일하게 webapps 폴더 내부에 war파일을 위치시킨다. 

- webapps를 빠져나와 tomcat설치폴더/conf/server.xml을 편집툴로 연다.

- Host태그 내부에 <Context path="[경로]" docBase="war파일의 이름"  reloadable="false" > </Context>를 추가한다. 
(
이 설정은 tomcat서버에서 하나의 가상경로를 추가하는 방법으로 path="/"로 설정하면 ROOT폴더 대신 등록한 폴더가 실행된다.)

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

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

- 아래와같이 설정해주면 됩니다. (Context 구문 추가)

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
          <Context path="/" docBase="application"  reloadable="false" > </Context>
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

이상으로 Apache / Tomcat 에서 .war 파일을 실행하는 두가지 방법에 대해서 알아 보았습니다.

- 끝 -