2016년 11월 27일 일요일

Apache Tomcat 개념, 설치, 설정

<개념>
  1. WEB Server, WEB Application Server의 차이
    -WEB Server: 정적인 Data를 처리한다.
    -WEB Application Server: 동적인 Data를 처리한다.
    분류
    WEB Server
    WEB Application Server
    방식정적 Data동적 Data
    문서HTML, 이미지JSP, Servlet
    종류Apache, Nginx, IIS, WebtoB, OHS, iPlanettomcat, jboss, weblogic, jeus, jetty
  2. WAS정의: WAS는 웹서버와 웹컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다. 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다. HTTP를 통해 애플리케이션을 수행 해주는 미들웨어로써,3tier 구조에서 비지니스로직을 담당하여 동적 데이터를 처리하는 서버이다.
  3. WAS 구성
    -웹 브라우저: 웹서비스를 요청하고 결과를 제공받는 클라이언트
    -웹 서버: 클라이언트의 요청을 처리하도록 프로세스를 관리
    -웹 애플리케이션 서버: JSP 프로그램을 실행시키고 결과를 웹 서버에 전달
    -데이터베이스: 웹 서비스 수행에 필요한 데이터를 저장
  4. WAS 동작 방식
    (1)사용자 요청(웹 브라우저) -> (2)웹서버 -> (3)WAS(동적처리) -> (4)웹서버 -> (5) 사용자 응답 메시지(웹브라우저)
     **위 내용은 DB가 없다고 가정하였으나 만약 DB가 있다면 (3)~(4)에서 동작함
      

<설치>
  1. JDK 다운로드
    -Oracle JDK 설치파일 URL: http://www.oracle.com/technetwork/java/archive-139210.html
    -설치 버전 다운로드 후 압축풀기
     예) $gunzip jdk-7u79-linux-i586.tar.gz
           $tar xvf jdk-7u79-linux-i586.tar
    -JAVA 환경변수
    -vi $HOME/.bash_profile 파일에 추가
      export JAVA_HOME={디렉터리}
      export PATH=$JAVA_HOME/bin:$PATH
    -JAVA_HOME path, version 확인
     예) java -version
  2. Tomcat 다운로드
    -Tomcat 설치파일 URL: http://tomcat.apache.org/index.html
  3. 압축풀기
    -압축파일의 압축을 OS명령어를 통해 압축을 푼다.
    $ gunzip apache-tomcat-{버전}.tar.gz
    $ tar xvf apache-tomcat-{버전}.tar
  4. Tomcat 환경변수
    -vi $HOME/.bash_profile 파일에 추가
      export CATALINA_HOME={디렉터리}
      export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jsp-api:$CATALINA_HOME/lib/servlet-api.jar
    -환경변수 적용 source $HOME/.bash_profile
  5. Tomcat 기동 및 종료
    $ cd $CATALINA_HOME/bin
    $ ./startup.sh (기동)

    $ ./shutdown.sh (종료)
<설정>
-톰캣 설정 파일 $CATALINA_HOME/conf/server.xml 
-server.xml 구조는 Server > Service > Engine > Host > Context 이다

  1. <Server>
    -최상위 컴포넌트로서, 톰캣의 인스턴스와 동일하다.
    -1개 이상의 <Service>를 포함한다.
    -기본으로 8005 포트가 설정되어 있다
    -shtdown 속성: TCP 소켓으로 SHUTDOWN 텍스트를 실행하면 톰캣 서버가 종료된다.
  2. <Listener>
    -특정 이벤트를 리스닝하고 이벤트 발생시 응답한다.
  3. <GlobalNamingResources>
    -<Resource> 등을 통해서 전역 리소스를 설정한다.
  4. <Service>
    -1개 이상의 <Connector>와 <Engine>를 포함한다.
  5. <Connector>
    -톰캣은 기본적으로 HTTP(8080), HTTPS(8443), AJP(8009) 커넥터를 제공한다.
  6. <Engine>
    -커넥터로 수신한 클라이언트의 요청을 처리하고 응답한다.
  7. <Host>
    -VirtualHost를 의미하며, name 속성으로 설정된 호스트명으로 웹 애플리케이션을 제공한다.
  8. <Context>
    -웹 애플리케이션의 의미한다.
  9. <Valve>
    -요청을 처리하는 파이프라인 사이에 추가되어 특별한 처리를 수행하는 컴포넌트이다.

댓글 없음:

댓글 쓰기