톰캣(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="test.sisinfo.com" appBase="/media/disk/webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
appBase는 이 컨텍스트의 물리적 영역이 되겠다.
물론 실제의 물리적인 디렉터리도 아래와 같이 필요하다.
/media/disk/webapps/test/ROOT
/media/disk/webapps/test/ROOT/WEB-INF
WEB-INF의 web.xml등은 TOMCAT_HOME/webapps/ROOT/WEB-INF에서 복사한다.
/media/disk/webapps/test/ROOT 디렉터리는 이 컨텍스트의 루트 디렉터리로 작동한다.
여기서 test.sisinfo.com은 추가하려는 도메인이 되겠으며,
실제로 도메인을 보유하지 않고 개발 PC에서 작업하는 경우,
C:\Windows\system32\drivers\etc\hosts 파일을 열고
마지막 줄에 다음을 추가한다.
192.168.10.105 test.sisinfo.com
이제 웹브라우저를 열고 [test.sisinfo.com:포트번호]에 접속하면 된다.
만일 /media/disk/webapps/test/ROOT 가 아닌 /media/disk/webapps/test 를 룰트 디렉터리로 사용하고자 하는 경우에는
server.xml을 다음과 같이 작성한다.
<Hostname="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="test.sisinfo.com" appBase="/media/disk/webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docBase="/media/disk/webapps/test"></context>
</Host>
2. 포트 번호로 분류하는 방법
톰캣에서도 MS의 IIS와 같이 포트 번호에 따라 호스팅하는 것이 가능하다.
TOMCAT_HOME\conf\server.xml 을 열고 아래와 같이 Service 엘리먼트를 추가한다.
<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 속성은 추가하려는 컨텍스트의 이름이 되겠다.
첫 Connector 엘리먼트의 port 속성은 사용하려는 포트 번호를 넣으면 된다.
Host 엘리먼트와 context 엘리먼트, appBase에 대한 물리적 경로 생성은 1항의 설명과 같다.
이제 웹브라우저를 열고 [localhost:포트번호]에 접속하면 된다.
'Programming' 카테고리의 다른 글
UltraEdit \r\n으로 문자열 찾아서 줄 바꾸기 (0) | 2010.04.12 |
---|---|
Eclipse 3.2 or 3.3 에서 Aptana plug-in 설치 하기 (0) | 2010.02.02 |
Eclipse 3.2 에서 꺼도 되는 옵션 정리 (0) | 2009.12.01 |
[Apache] [Windows NT] 날짜별 로그 생성 (0) | 2009.08.28 |
[ASP] 정규식을 이용한 태그 제거 함수 (0) | 2009.07.02 |