본문 바로가기
서버/sw

[Tomcat] server.xml 기본배포 및 다중서비스 배포

by 아크투어 2023. 4. 17.
반응형

1.개요

Apache Tomcat은 Apache Software Foundation에서 개발한 인기 오픈 소스 Java Servlet 컨테이너입니다.

Java 기반 웹 애플리케이션을 도입하기 위한 가볍고 확장 가능하며 유연한 환경을 제공하도록 설계되었습니다.

apache tomcat

 

2.버전별 다운로드 주소

http://archive.apache.org/dist/tomcat/

 

Index of /dist/tomcat

 

archive.apache.org

 

 

3.Tomcat server.xml 옵션설명

  • unpackWARs : true로 되어 있을 경우에는 WAR 파일의 압축을 풀어서 배치하게 됩니다.
  • autoDeploy : WAR파일을  appBase(=webapps) 디렉토리에 위치시키면 톰캣 구동시 WAR파일을 자동으로 읽어서 배포
  • xmlValidation : Tomcat은 수신 XML 문서를 지정된 스키마 또는 DTD에 대해 유효성 검사를 수행하여 문서가 올바른 형식이고 유효한지 확인할 수 있습니다.
  • sessionCookieName : "JSESSIONID_80" 해당문구는 페이지 로딩시 브라우저 도메인에 jsession~~ 값이 생성되는것을 차단한다.

 

4. [일반배포] appBase 사용

  • 보통 war파일을 업로드하기 싫을때 하는방법이다.
  • 윈도우에서 *.war파일을 생성하고 압축을 풀고, 압축파을을 ROOT로 만든다.
  • ROOT 파일 그대도 tomcat/webapps 에 업로드하고 구동한다.
  • <Context path를 사용하지 않는다.
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" 
	xmlValidation="false" xmlNamespaceAware="false">	
</Host>

tomcat webpaas

 

 

4. [일반배포] docBase 사용

  • war파일을 올리고 배포하고자 할때 사용하면 된다.
  • appBase는 tomcat/webapps 그대로 사용하고 *.war파일만 올린다.
  • 톰캣 실행시 아래처럼 파일이 생성된다. 
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="arckwon" reloadable="true" sessionCookieName="JSESSIONID_80"/>
</Host>

tomcat docBase

 

5. [일반배포] docBase에 경로주입시

  • [왼쪽이미지] www/workspace 경로에 arckwon.war파일을 업로드하고 tomcat을 실행한다.
  • [오른쪽이미지] was 실행시 tomcat/webapps에 ROOT파일이 생긴다.
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="/www/workspace/arckwon.war" reloadable="true" sessionCookieName="JESSIONID_81" />
</Host>

tomcat docbase

 

6. [일반배포] appBase에 경로주입

  • [왼쪽이미지] www/workspace 경로에 arckwon.war파일을 업로드하고 tomcat을 실행한다.
  • [오른쪽이미지] 별도로 소스파일이 생기지않는다.
  • [왼쪽이미지] ROOT 파일이 실제소스이다. arckwon파일 / arckwon.war 파일은 실제로 삭제해도 무방하다.
<Host name="localhost"  appBase="/www/worksapce" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="arckwon" reloadable="true" sessionCookieName="JESSIONID_81" />
</Host>

tomcat appBase

 

 

 

 

 

7. [다중배] 메인도메인과 서브도메인 배포

  • www.arckwon.com 의 소스 vmc.user / admin.arckwon.com의소스 vmc.admin 두개를 배포해보자.
  • war파일을 올려서 빌드해도되나 ROOT 파일이 생긴다. 아래처럼 구성해서 사용하자.
<Host name="www.arckwon.com"  appBase="webapps/vmc.user" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="" reloadable="true" sessionCookieName="JESSIONID_80" />
</Host>

<Host name="admin.arckwon.com"  appBase="webapps/vmc.admin" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="" reloadable="true" sessionCookieName="JESSIONID_81" />
</Host>

 

 

tomcat 다중배포

반응형