TIL인 만큼 짧은 메모 형식으로만 기록하겠다.

 

Google Quick Lab에 참여하는 도중 NGINX란 단어가 나와 조금 찾아보았다. 

  • 엔진 X라고 읽음
  • Web Server , FTP, EMAIL 기능을 가진다. 
  • 클라이언트 요청에 응답하기 위해서 비동기 이벤트 기반의 구조를 가지고 작동하는데, 아파치 웹서버의 경우는 스레드/프로세스 기반의 구조를 가진다. 
  • Web Server ( = HTTP SERVER)
    • 서버쪽에서 데이터를 전달하는 소프트웨어
    • HTTP 요청을 처리할 수 있는 서버
  • Apache에 비해 더 빠르게 데이터를 제공한다. -> 경량화된 Web Server
  • 핵심은? 빠르다!

내가 현재 듣는 Quick Lab은 GCP ESSENTIAL 의 'CREATING A VIRTUAL MACHINE'이다.

Google Compute Engine은 다양한 OS를 실행하는 가상머신을 만들고 나서, NGINX web server를 요 가상머신에 연결시킨다. 

 

톰캣으로 웹 서버를 만든다고 하면 나는 아파치 웹서버를 썼다고 말할 수 있는 건가?

-> 톰캣에 아파치의 기능이 포함되어 있군..!

 

우선, 다른 사이트에 나온 내용 중 이해하는 데 도움된 내용이 있어서 정리할 겸 적어봤다. 

 

Web Server는 정적인 요청을 처리하는 서버이다. 

Web Application Server 는 동적인 요청을 처리하고, JSP와 Servlet이 실행될 수 있는 환경을 제공한다. 웹서버로부터 요청이 오면 컨테이너가 받아서 처리하고, 컨테이너는 web.xml을 참조하여 해당 서블릿에 대한 쓰레드를 생성한 다음 httpServeletRequest와 httpServletResponse 객체를 생성하여 전달한다. 컨테이너는 서블릿을 호출한다. 호출된 서블릿의 작업을 담당하게 된 쓰레드는 doPost()와 doGet()을 호출하여 이 메소드를 통해 동적페이지를 response객체에 담아 컨테이너에 전달하며, 컨테이너는 전달받은 response객체를 http response 형태로 바꾸어 웹서버에 전달하고 생성된 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.  WAS가 처리한 걸 웹서버가 받아서 응답해준다. (출처 : https://jeong-pro.tistory.com/84)

 

+ Recent posts