tomcat 의 설명 / 설치

2010.05.12 07:51

조인상 조회 수:9415

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

출처 : http://blog.naver.com/hgh73?Redirect=Log&logNo=90071372812
+++++++++++++++++++++++++++++++++++++++++++++++++++++++




1. 아파치 자카르타 프로젝트



리눅스를 사용하면서 느낄 수 있는 즐거움은 수많은 오픈 소스 소프트웨어를 이용해서 서비스를 제공하는 것이다. 소스 코드를 컴파일하고

자신만의 서비스를 만들어 나가는 즐거움이 현재 리눅서를 열광시키는 중요한 요소 중에 하나일 것이다. 리눅스가 만들어지기 이전부터 이미

오픈 소스 프로젝트들이 많이 존재하여 왔다. 특히 월드 와이드 웹이 폭발적으로 증가하면서 웹 서버의 발전과 이에 대한 요구 사항이 급속도록 증가하였고 특히 웹 서버 중에서도 가장 인지도가 높고 많이 사용되어지는 것이 오픈 소스인 아파치 웹 서버 중에서도 것은 매우 놀라운 점이다.



아파치 웹 서버를 만든 아파치 그룹에서는 아파치 웹 서버 외에도 여러 가지 많은 오픈 소스 프로젝트가 진행되고 있는데 그 중에서도 자바를 기반으로 한 자카르타 프로젝트에 주목할 필요가 있다. 자카르타 프로젝트는 크게 다음 3가지로 분류한다.



· 라이브러리, 툴, API 프로젝트
· 프레임워크와 엔진 프로젝트
· 서버 애플리케이션 프로젝트



첫 번째 라이브러리, 툴, API 프로젝트에서 현재 가장 잘 알려진 것은 Ant이다. Ant는 기존에 make와 비슷한 기능을 하는 것으로 자바 애플리케이션을 컴파일 및 배치 작업을 하는데 사용되며 현재 자바 개발자들에게 이클립스(Eclipse.org)와 공개용 IDE 툴과 연동해서 많이 사용되어 지고 있다.



두 번째 프레임워크와 엔진 프로젝트는 아직 이렇다 할 만한 성과가 나오지는 않았다. 이 중에서 관심을 가져 볼만한 것은 Avalon 프로젝트로 컴포넌트 기반의 프로그래밍을 목표로 하고 있으며 서버 기반의 프레임워크로 만들어 나가는 것이다.



마지막으로 서버 애플리케이션 프로젝트가 있는데 이 프로젝트가 바로 자카르타 프로젝트의 가장 핵심이 되는 부분이다. 앞서 언급한 두 가지의 큰 프로젝트들 모두가 바로 서버 애플리케이션 프로젝트의 기반 프로젝트이며 궁극적으로 모든 프로젝트에서 나온 산출물들이 최종적으로 서버 애플리케이션 프로젝트로 통합되고 있기 때문이다. 서버 애플리케이션 프로젝트도 여러 가지 있긴 하지만 그 중에서 가장 유명하며 인지도가 있는 것은 톰캣 프로젝트이다.



이 외에도 서버 애플리케이션을 작성하기 위해서 필요한 XML 파서, 퍼포먼스 측정 도구인 JMeter, 로깅 작업을 위한 Log4J 등 다양한 컴포넌트가 제공되고 있다.


2. J2EE와 톰캣



자바 기반의 서버 애플리케이션 프로젝트로 톰캣을 이해하기 위해서는 자바 그 중에서도 특히 J2EE에 대해서 대략적인 이해가 필요하다. 우선 J2EE 프레임워크를 통해 톰캣이 하는 역할에 대해서 알아보자.


J2EE 프레임워크는 여러 가지 서비스를 통해 엔터프라이즈 애플리케이션을 만들어 낼 수 있는 프레임워크이다.

많은 내용이 포함되어 있지만 자세히 살펴보면 컴퍼넌트라는 개념과 컨테이너라는 개념으로 나눌 수 있다. 다시 말해서 JSP, 서블릿이라는 컴포넌트가 웹 컨테이너에서 동작하고 EJB 컴포넌트가 EJB 컨테이너에서 동작하는 것이 J2EE 프레임워크의 핵심이며



각각의 컴포넌트는 JMS, JNDI, JDBC 등 다양한 서비스를 활용하게 되어 있다. 여기서 컴포넌트들은 개발자들에 의해서 작성되이ㅓ야 할 부분이고

컨테이너는 해당 컴포넌트를 수행할 수 있는 플랙폼을 제공할 벤더에서 작성해야 하는 부분이다. 요즘 많은 각광을 받고 있는 J2EE 기반의 웹 어플리케이션 서버 밀명 WAS가 바로 웹 컨테이너와 EJB 컨테이너를 의미한다.



이 단원에서 살펴볼 톰캣은 이중에서 웹 컨테이너에 해당한다. 즉 이 말은 톰캣을 이용해서는 서블릿과 JSP를 수행할 수 있는 환경을 만들 수 있다는 것이다. 결국 톰캣 자체만으로는 J2EE의 핵심이라고 할 수 있는 EJB를 위한 환경을 제공하지는 못하며 아쉽게도 아파치 그룹에서 공식적으로 추진 중인 EJB 컨테이너 프로젝트는 없다.



[NOTE]



오픈 소스 형태의 EJB 컨테이너는 JBoss.org에서 제공하는 JBoss가 있다. JBoss의 경우 톰캣과 가장 연결성이 좋은 EJB 컨테이너로 알려져 있으며 www.jboss.org에 가면 톰캣과 JBoss가 통합된 제품을 다운로드 받을 수 있다.



일단 톰캣은 웹 컨테이너라고 정의할 수 있으며 자바 서블릿과 자바 서버 페이지 기술을 구현한 공식적으로 인정받고 있는 제품이다. 톰캣은 오픈 소스를 지향하고 있으며 아파치 소프트웨어 라이센스에 기반한 정책을 사용하고 있다.



사실은 이 점이 약간 문제가 발생하는데 아파치 소프트웨어의 라이센스 정책과 자바 소프트의 서블릿과 JSP에 대한 라이센스 정책에 상반된 면이 있기 때문이다. 그런 문제로 인해서 톰캣과 더불어 오픈 소스로 EJB를 활용할 수 있는 JBoss가 아직까지 공식적으로 자바 소프트의 자바 호환 인증을 획득하지 못하고 있다. 어쨌든 현재 톰캣은 자바 소프트에서 (정확하게는 JSP : Java Community Process) 규정한 서블릿과 JSP 규정을 충실히 구현한 웹 컨테이너이다.



톰캣은 크게 3.0대 버전과 4.0대 버전으로 나뉘어진다. (3.0 이전 버전의 톰캣은 존재하지 않는다.) 이 두 버전의 가장 큰 차이점은 어떤 서블릿/JSP 규약을 구현했는지이다. 3.0대의 톰캣은 서블릿 2.2와 JSP 1.1을, 4.0대 버전은 서블릿 2.3과 JSP 1.2를 구현하고 있다. 특히 톰캣 4.0은 카탈리나(Catalina)라는 이름으로도 알려져 있다. 현재 톰캣 4.0 뿐만 아니라 톰캣 3.0 역시 아파치 그룹에서 공식적으로 배포하고 있는 웹 컨테이너이다.



[Note]

카탈리나는 톰캣 4.0 버전의 프로젝트 이름이다. 톰캣 3.0 버전에 대한 기능 향상 및 안정화 작업이 진행되었고 이와는 별도로 새로운 버전의 톰캣을 개발하기 위한 프로젝트였다. 톰캣 4.0 내부 구조는 이전 버전의 톰캣에 비해 많은 면에서 변화가 있다. 특히 J2EE 1.3 규정에 정한 많은 면들을 포함시키고 있으며 환경 설정이나 용어 등에서도 차이점이 존재한다. 특히 카탈리나라는 용어가 많이 나오는데 카탈리나라는 것이 톰캣 4.0을 의미한다는 점을 기억해 두기 바란다.





3. 자카르타 톰캣 설치

서블릿 2.3과 JSP 1.2를 구현한 톰캣 4.0으로, 톰캣 4.0을 설치하고 실행시키기 위해서는 JDK가 반드시 필요하며 자바와 관련된 환경 설정이 되어 있어야만 한다. 자바 실행 환경은 1.4.0이며
http://java.sun.com/j2se/1.4/download.html 에서 다운로드 받을 수 있다.



Linux GUNZIP Tar shell script 항목의 SDK를 다운로드 받도록 하자. J

RE와 SDK의 가장 큰 차이는 JRE는 실행 환경만이 제공되며 SDK는 개발 환경과 실행 환경이 포함된 형태이다.



개발 환경이란 개발 툴이 포함되어 있는 것은 아니고 단지 컴파일러만 포함되어 있는 것을 의미한다. 톰캣을 사용하기 위해서는 SDK, 일면 JDK가 반드시 필요하다. 특히 구성하고자 하는 서버가 개발 서버가 아닌 운영 서버라 컴파일 작업이 필요 없으로 여겨 J



RE로만 환경 설정을 하는 경우도 있는데 이것은 잘못된 생각이다.



웹 컨테이너는 실시간으로 컴파일 작업을 수행하기 때문에 아무리 운영 서버일지라도 JDKㄹ르 설치해야만 한다. 이외에도 Forte/SDK를 다운로드 받으면 GUI 환경에서 자바 개발을 할 수 있는 도구를 사용할 수 있다.


서블릿과 JSP 프로그래밍을 하기 위해서는 해당 컴포넌트를 실행시켜 줄 수 있는 컨테이너가 필요하다. 현재 많은 웹 컨테이너가 나와 있지만 오픈 소스 진영에서는 톰캣이 가장 유명하고 많이 사용되어진다. 현재 최신의 톰캣은 4.03 버전이며 4.0대 버전은 특별히 카탈리나라는 이름으로 불려진다.



http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin 에서 다운로드 받을 수 있다.



톰캣 설치 : 다운받은 아카이브를 풀면 설치 끝.

톰캣 실행
# $CATALINA_HOME/bin/catalina.sh start
# $CATALINA_HOME/bin/startup.sh

에러 메시지 없이 실행되었다면 http://<ip_address>:8080으로 접속해 보자.



웹서버 디렉토리
- 기본적으로 설치된 /usr/local/tomcat/webapps/ROOT 에 기본 디렉토리가 잡힌다. 이 위치를 변경하고 싶을 경우 가상디렉토리 설정을 해준다.


conf/server.xml 파일을 수정하여 하단에

      <Context path = "/apache" docBase = "/home/www" />

    </Host>

와 같은 줄을 넣어준다.

여기서 /apache는 가상디렉토리명이 되며
실제 디렉토리 path는 /home/www 로 잡히게 된다.

 

 

* 윈도우에 설치한 경우 서비스에 등록하는 방법

~/bin/service.bat install

관련문서 : http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html

 

서버에 요청 중입니다. 잠시만 기다려 주십시오...