본문 바로가기
프로그래밍/JAVA

[JAVA] TOMCAT 6.0 에서 도메인 설정하는 방법

by 소나기_레드 2023. 2. 27.

톰캣(Tomcat)에서 컨텍스트를 설정하는 방법 (Tomcat 6.0에서 테스트)

0. 용어 설명

TOMCAT_HOME : 톰캣 설치 디렉터리

 

1. 도메인으로 분류하는 방법

TOMCAT_HOME\conf\server.xml 을 열면 기본적으로 하나의 Service 엘리먼트가 있고 그 하위에 Engine 엘리먼트가, 또 그 하위에 아래와 같은 하나의 Host 엘리먼트가 있다.

 

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>

 

아래와 같이 추가하려는 도메인으로 Host 엘리먼트를 하나 더 추가한다.

 

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
      <Host name="www.testdomain.com"  appBase="C:\testdomain"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>

 

appBase는 이 컨텍스트의 물리적 영역이 되겠다.
물론 실제의 물리적인 디렉터리도 아래와 같이 필요하다.

 

C:\testdomain\ROOT
C:\testdomain\ROOT\WEB-INF

WEB-INF의 web.xml등은 TOMCAT_HOME\webapps\ROOT\WEB-INF에서 복사한다.

C:\testdomain\ROOT 디렉터리는 이 컨텍스트의 루트 디렉터리로 작동한다.

여기서 www.testdomain.com은 추가하려는 도메인이 되겠으며, 실제로 도메인을 보유하지 않고 개발 PC에서 작업하는 경우, C:\Windows\system32\drivers\etc\hosts 파일을 열고 마지막 줄에 다음을 추가한다.

 

127.0.0.1       www.testdomain.com

 

이제 웹브라우저를 열고 [www.testdomain.com:포트번호]에 접속하면 된다.

만일 C:\testdomain\ROOT 가 아닌 C:\testdomain 를 루트 디렉터리로 사용하고자 하는 경우에는
server.xml을 다음과 같이 작성한다.

 

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
      <Host name="www.testdomain.com"  appBase="C:\testdomain"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
     <context path="" docBase="D:\Team_ePro\StrutsPilot"></context>
      </Host>

 

2. 포트 번호로 분류하는 방법

톰캣에서도 MS의 IIS와 같이 포트 번호에 따라 호스팅하는 것이 가능하다.
TOMCAT_HOME\conf\server.xml 을 열고 아래와 같이 Service 엘리먼트를 추가한다.

 

<FONT color="#ff7635">  <Service name="testdomain">
    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="testdomain" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="localhost"  appBase="C:\testdomain"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
            <context path="" docBase="C:\testdomain"></context>
      </Host>
    </Engine>
  </Service>
 <Service name="testdomain">
  <Connector connectionTimeout="20000" port="8090" redirectPort="8444"/>
  <Connector port="8010" protocol="AJP/1.3" redirectPort="8444"/>
  <Engine defaultHost="localhost" name="testdomain">
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
   <Host appBase="C:\testdomain" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
    <Context docBase="C:\testdomain" path="" reloadable="true"/>
   </Host>
  </Engine>
 </Service>

</FONT>

Service 엘리먼트의 name 속성은 추가하려는 컨텍스트의 이름이 되겠다.
첫 Connector 엘리먼트의 port 속성은 사용하려는 포트 번호를 넣으면 된다.
Host 엘리먼트와 context 엘리먼트, appBase에 대한 물리적 경로 생성은 1항의 설명과 같다.

이제 웹브라우저를 열고 [localhost:포트번호]에 접속하면 된다.

 

 

출처 : http://macrojin.tistory.com/1

댓글