본문 바로가기
OS/Linux

[WAS] Tomcat 이란?

by BTC_금쪽이 2023. 11. 11.

베하!

안녕하세요 여러분 오늘도 돌아온 금쪽상담소입니다.

날이 무척이나 추워졌어요.. 감기 조심하시구요! 그럼 오늘도 새로운 정보를 알려드리도록 할께요~!

오늘은 바로, WEB, WAS, DB 의 3-Tier 구성중 가운데에 있는 WAS 서버에서 사용하는 Application을 소개해드릴께요!

바로바로~~ Tomcat 입니다!

 

Tomcat은 정말로 많이 사용하고 있는 Application 인데요.

과연 Tomcat이란 건 어떤 건지, 무엇을 하는 건지 알아보도록 할께요! 그럼 시작!

 

Tomcat 이란?

 

톰캣(Tomcat)은 흔히 WAS(Web Application Service)라고 하며, 아파치 소프트웨어 재단(Apache Software Foundation)의 애플리케이션 서버로서, 자바 서블릿을 실행하고 JSP(Java Server Pages)가 포함된 웹페이지를 만들어줍니다. 

톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하고, 관리 도구를 이용해서 설정을 변경할 수도 있지만, XML 파일을 편집해서 설정할 수도 있습니다.

 

그렇다면 WAS는 무엇일까요?

 

WAS(Web Application Service)

 

WAS는 웹 서버와 웹 컨테이너의 결합으로, 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말합니다. 클라이언트의 요청이 들어왔을 때 내부의 프로그램을 통해 결과를 만들고 다시 클라이언트에게 전달해주는 역할을 하는 것이 웹 컨테이너 입니다.

 

 

Tomcat의 구성요소

  • 카탈리나

카탈리나는 톰캣의 서블릿 컨테이너다. 카탈리나는 서블릿과 자바 서버 페이지(JSP, JAVA Server Page)에 대한 선 마이크로시스템즈의 사양을 구현한다. 톰캣에서 영역 요소는 해당 사용자에게 할당된 사용자 이름, 암호 및 역할의 "데이터베이스"를 나타낸다(유닉스 그룹과 유사함). 서로 다른 영역의 구현은 카탈리나를 그러한 인증 정보가 이미 생성되고 유지되고 있는 환경에 통합한 다음, 서블릿 규격에 설명된 대로 컨테이너 관리 보안을 구현하는 데 사용할 수 있게 한다.

  • 코요테

코요테는 웹서버로서 HTTP 1.1 프로토콜을 지원하는 톰캣용 커넥터 컴포넌트다. 이것은 명목상 자바 서블릿 또는 자바 서버 페이지 컨테이너인 카탈리나가 HTTP 문서로서 로컬 파일을 제공하는 평범한 웹 서버 역할도 할 수 있게 해준다. 코요테는 특정 TCP 포트의 서버로 들어오는 연결을 청취하고 톰캣 엔진에 요청을 전달하여 요청을 처리하고 요청 클라이언트에 응답을 다시 보낸다. 또 다른 코요테 커넥터인 코요테 JK는 비슷하게 듣지만 대신 JK 프로토콜을 사용하여 아파치와 같은 다른 웹 서버에 요청을 전달한다. 이것은 보통 더 나은 성능을 제공한다.

  • 재스퍼

재스퍼는 톰캣의 자바 서버 페이지 엔진이다. 재스퍼는 자바 서버 페이지 파일을 구문 분석하여 서블릿으로 자바 코드로 컴파일한다. 재스퍼는 런타임에 자바 서버 페이지 파일의 변경 사항을 감지하여 다시 컴파일한다.

  • 자바 서버 페이지 태그 라이브러리 풀링

자바 서버 페이지 파일의 각 태그 표시는 태그 처리기 클래스에 의해 처리된다. 태그 핸들러 클래스 객체는 풀링하여 전체 자바 서버 페이지 서블릿에 재사용할 수 있다.

  • 백그라운드 자바 서버 페이지 컴파일

수정된 자바 서버 페이지 자바 코드를 다시 컴파일하는 동안 서버 요청에 대해 이전 버전을 계속 사용할 수 있음 이전 자바 서버 페이지 서블릿은 새로운 자바 서버 페이지 서블릿의 재컴파일 작업이 완료되면 삭제된다.

  • 자바 개발 도구 자바 컴파일러

재스퍼 2는 앤트와 자바 대신 이클립스 자바 개발 도구(JDT, Java Development Tools) 자바 컴파일러를 사용할 수 있다.

  • 클러스터

이 구성요소는 대형 응용프로그램을 관리하기 위해 추가되었다. 그것은 많은 기법을 통해 달성할 수 있는 부하 분산에 사용된다. 클러스터링 지원에는 현재 JDK 버전 1.5 이상이 필요하다.

  • 고가용성

실시간 환경에 영향을 주지 않고 시스템 업그레이드(예: 새로운 릴리스, 변경 요청) 일정을 쉽게 예약할 수 있도록 고가용성 기능이 추가되었다. 이것은 메인 서버가 메인 포트에서 업그레이드되는 동안 다른 포트의 임시 서버에 라이브 트래픽 요청을 전송함으로써 이루어진다. 트래픽이 많은 웹 애플리케이션에서 사용자 요청을 처리하는 데 매우 유용하다.

  • 웹 애플리케이션

다양한 환경 전반에 걸친 배포 지원을 추가하기 위해 시스템 기반 웹 애플리케이션 개선뿐만 아니라 사용자도 추가했다. 네트워크 전체의 애플리케이션뿐만 아니라 세션 관리도 시도한다. 아파치 톰캣과 함께 많은 추가 구성요소를 사용할 수 있다. 이러한 구성요소는 사용자가 필요한 경우 또는 미러 중 하나에서 다운로드할 수 있는 경우에 제작할 수 있다.

 


 

 

톰캣은 webserver에서 넘어온 동적인(서버가 데이터를 처리 후 생성) 페이지를 읽고 프로그래밍을 실행하고 결과를 html로 재구성해서 아파치에게 돌려줍니다.

톰캣은 자체적으로 보유하고 있는 내부 웹 서버와 함께 독립적으로 사용할 수도 있고, 아파치나 넷스케이프 엔터프라이지 서버, IIS등 다른 webserver와 함께도 사용 가능합니다. 톰캣을 실행하려면 JRE1.1이상의 자바 RUN_TIME 환경이 필요합니다.

다음시간에도 Linux 서버에서 사용하는 다양한 Application으로 여러분들에게 찾아갈께요!

 

그럼 이번 주도 베빠~~!

'OS > Linux' 카테고리의 다른 글

Linux 서버 내 사용자 생성/삭제/비밀번호 부여  (0) 2024.01.08
Ubuntu OS 업그레이드  (0) 2023.11.27
[WEB] Apache  (0) 2023.11.11
리눅스 서버 보안 설정  (0) 2023.11.08
[WEB] Nginx  (0) 2023.11.01

댓글