Apache, Tomcat, Nginx

Daniel Seo·2021년 5월 27일
0

아파치 (Apache)

  • Apache는 여러 프로젝트를 통해 오픈소스를 만들어내는 소프트웨어 단체 이름
  • Apache 서버는 이 단체에서 만든 http 웹서버를 의미하며 http요청을 처리
  • 정적인 데이터를 처리하는 웹 서버
  • C10K Problem (하나의 웹서버에 10,000개의 클라이언트 접속을 커버할 수 있는 문제)를 해결하기 위해 가벼움과 높은 성능을 추구하며 만들어짐
  • Thread/Process 기반 구조로, 요청당 Thread 하나가 처리 (Client 당 하나의 Thread가 할당되므로 사용자가 많아지면 시스템 자원 낭비가 심해짐)

톰캣 (Tomcat)

  • WAS(Web Application Server)
  • 동적 데이터를 처리하는 서버 (DB와 연결되어 데이터를 주고 받음)
  • 웹 어플리케이션 서버는 JSP(Java Server Page)를 처리하는 프로그램
  • Java로 만들어진 프로그램을 웹 서버에서 돌려서 결과값을 클라이언트로 돌려준다.

Client - 웹서버 - WAS - DB

  • 아파치와 톰캣은 목적이 다르기 때문에 둘을 연동하면 효과적임

엔진엑스(Nginx)

  • Apache와 같은 웹서버
  • Apache의 단점을 보완하기 위해 만든 프로그램
  • Apache와 달리 비동기 기반 구조
profile
배움을 나누는 개발자입니다

0개의 댓글