아파치(Apache), 톰캣(Tomcat)

박영준·2024년 4월 1일
0

IT 지식

목록 보기
10/27

아파치와 톰캣의 흐름

아파치와 톰캣을 같이 사용하는 이유? (요약)
Apache(웹 서버)는 정적인 데이터를 처리하는 서버다.
따라서, 이미지나 단순 html파일과 같은 리소스를 제공하는 서버는 Apache(웹 서버)를 통하면 Tomcat(WAS)을 이용하는 것보다 빠르고 안정적이다.

Tomcat(WAS)은 동적인 데이터를 처리하는 서버다.
따라서, DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에 이용하는 것이 좋다.


아파치 (Apache)

1. 정의

  • "정적"

    • 정적인 데이터들(html, css 이미지, 파일 ...)에 대한 클라이언트의 요청을 데이터로 만들어서 응답
  • 웹서버(web server)

    • 아파치 소프트웨어 재단에서 만든
  • 리눅스에서는 httpd 로 명명지어져 배포됨

  • 80 포트를 사용

2. 장단점

장점

  • 처리속도 Fast

  • 구조 Simple

  • 트래픽 과부화에 강함

단점

  • 정적 데이터만 처리 가능

  • 다른 서비스와 상호작용 불가능


톰캣 (Tomcat)

1. 정의

  • "동적"

  • "컨테이너", "웹 컨테이너", "서블릿 컨테이너"

  • 웹 서버와 웹 컨테이너의 결합

  • WAS(웹 애플리케이션 서버)

    • 현재 가장 일반적이고 많이 사용됨
    • 일반적으로 "WAS"라고 하면 "Tomcat"을 지칭
  • JSP와 서블릿 처리, 서블릿의 수명 주기 관리, 요청 URL을 서블릿 코드로 매핑, HTTP 요청 수신 및 응답, 필터 체인 관리 등을 처리

WAS

  • "web Application Server"
  • 여러 web client의 요구를 web서버가 감당할 수 없는 기능을 구조적으로 web서버와 분리하기 위해 만들어짐
  • 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작 등의 처리를 담당

2. 아파치 & 톰캣

'톰캣'이 아닌, '아파치 톰캣'이라고 불리는 이유?

  • 톰캣(WAS)에서 편의를 위해 아파치의 기능(웹서비스 데몬, Httpd)을 포함하고 있기 때문
  • 즉, 톰캣이 아파치의 기능 일부를 가져와서 제공해주는 형태이기 때문

3. 파일 구조

bin : 톰캣 실행에 필요한 실행,종료시키는 스크립트 파일들이 위치

  • startup.bat : 톰캣을 실행 (내부적으로 catalina.bat을 실행)
  • shutdown.bat : 톰캣을 정지 (내부적으로 catalina.bat을 실행)

conf : server.xml 및 서버 전체 설정과 관련한 톰캣 설정 파일들이 위치

  • server.xml : 서버설정과 관련한 내용
  • web.xml : 서버가 올라갈때 가장 먼저 읽는 파일로 중요한 xml파일

lib

  • 다른 웹서버(아파치 같은)와 톰캣을 연결해주는 바이너리 모듈들이 포함됨
  • 톰캣 구동하는데 필요한 라이브러리들(jar)이 위치

logs : 톰캣 실행 로그파일들이 위치

temp : 톰캣이 실행되는 동안 임시 파일이 위치

webapps : 웹 어플리케이션이 위치

work : sp파일을 서블릿형태로 변환한 java파일과 class파일을 저장하는 위치

  • bin 이 들어간 폴더가 있다면 : 실행 파일
  • conf 이 들어간 폴더가 있다면 : 설정 파일
    이라고 간주하면 된다

4. 장단점

장점

  • 데이터 흐름 유동적

  • 여러 서비스 가능(DB ...)

단점

  • (아파치에 비해) 속도 Slow

  • 추가 비용 발생

  • 트래필 과부화에 약함

아파치 & 톰캣 포트 관련
참고: Port 포트


참고: [TOMCAT] 🐱 아파치 톰캣 개념 구성 & 설정 💯 정리

profile
개발자로 거듭나기!

0개의 댓글