- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26739695&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
Apache Tomcat 서버의 이해
1. Apache Tomcat 개요
1.1 Apache Tomcat이란
- 아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단(ASF:Apache Software Foundation)에서 개발한 서블릿 컨테이너가 있는 웹 애플리케이션 서버(WAS)이다.
- 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하며 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다.
1.2 Apache Tomcat 설치
- Apache Tomcat 7 Download : http://tomcat.apache.org/download-70.cgi
- Apache Tomcat 6 Download : http://tomcat.apache.org/download-60.cgi
- zip파일 또는tar.gz 파일을 다운로드 받아서 압축만 해제하면 설치가 완료된다.
- 환변경수 CATALINA_HOME 으로 톰캣의 설치 디렉토리를 등록한다.
ex) CATALINA_HOME C:\dev\apache-tomcat-6.0.32
2. server.xml의 이해
- server.xml 은 서버에 대한 설정 파일이다.
server.xml의 구조
<!-- server.xml 의 root element, server의 shutdown port를 지정 함 --> <Server port="8005" shutdown="SHUTDOWN"> | <!-- server는 1개 이상의 service를 가질 수 있지만, 보통은 server.xml을 분리해서 관리--> +---<Service name="Catalina"> <!-- service는 독립적인 톰캣의 서비스 이다. --> | <!-- Connector Client와 요청을 주고 응답을 받는 Interface이다. --> +---<Connector port="8080" protocol="HTTP/1.1"> | <!-- Connector 에는 HTTP와 AJP등이 있다. --> +---<Connector port="8009" protocol="AJP/1.3" > <!-- Apache Jserv Protocol --> | <!-- Engine은 적절한 Host로 처리를 넘기는 역할을 한다. --> +---<Engine name="Catalina" defaultHost="localhost"> | <!-- Realm, Valve Component를 이용하면 Database연결, Single Sing On, +---<Realm> Access Log등 부가기능을 이용 할 수 있다. --> | +---<Valve> | +---<Logger> | <!-- 가상 호스트를 정의한다. --> +---<Host appBase="webapps"> | <!-가상호스트에서 동작하는 하나의 웹 어플리케이션 이다. --> +---<Context path="" docBase="C:\workspace\project\wiki "> | +---<Valve> | +---<Realm> | +---<Logger>
3. Document Root 설정 방법
3.1 톰캣의 기본 Document Root
- 톰캣의 기본 Document Root는 webapps/ROOT 이다.
- server.xml의 <Host> 태그는 아래와 같이 설정되어 있고, <Context> 태그는 생략되어 있다.
- appBase는 $CATALINA_HOME 디렉토리 밑 상대경로를 기본 인자로 받는다.
- <Context> 태그가 생략되어 있으면 기본적인 루트는 ROOT 디렉토리 밑이 된다
- 즉 기본적인 Document Root는 $CATALINA_HOME/webapps/ROOT 가 된다.
톰캣의 기본 Document Root
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> .. </Host>
- $CATALINA_HOME/bin/startup.bat 파일을 실행시키고 http://localhost:8080/ 으로 접속해 보자
- $CATALINA_HOME/webapps/ROOT/inex.html 파일이 실행 된 것을 확인 할 수 있다.
3.2 <Context> 태그의 사용
- <Host>태그 안에 <Context> 태그를 사용해 appBase 하위 디렉토리를 Document Root로 지정 할 수 있다.
- 아래는 webapps/examples 을 Document Root 로 지정한 예제이다.
<Context> 태그의 사용
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="examples" reloadable="true"/> .. </Host>
- $CATALINA_HOME /conf/server.xml Host 설정 안에 Context를 예제와 같이 추가한 후 tomcat을 restart 하고, http://localhost:8080/ 으로 접속해 보자
- "Apache Tomcat Examples" 페이지가 나오는 것을 확인 할 수 있다.
3.3 원하는 디렉토리를 Document Root로 사용
- <Context> 태그의 docBase 디렉토리를 절대경로로 지정을 하면 원하는 디렉토리를 Document Root로 사용 할 수 있다.
- 아래는 Apache HTTP Server의 htdocs를 Document Root로 설정 한 예제이다.
원하는 디렉토리를 Document Root로 사용
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="C:\dev\Apache2.2\htdocs" reloadable="true"/> .. </Host>
- $CATALINA_HOME /conf/server.xml Host 설정 안에 Context를 예제와 같이 추가한 후 tomcat을 restart 하고, http://localhost:8080/ 으로 접속해 보자
- Apache HTTP Server의 Document Root 페이지가 나오는 것을 확인 할 수 있다.
- 현재는 상태는 http://localhost/(Apache HTTP Server), http://localhost:8080/(Apache Tomcat Server)모두 같은 페이지가 나온다. 직접 접속해서 확인해 보자
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26739695&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.