레벨업 일지

[Nginx] 엔진엑스 본문

카테고리 없음

[Nginx] 엔진엑스

24시간이모자란 2023. 5. 18. 02:26

Nginx 란

 

공식문서 

https://www.nginx.com/resources/glossary/nginx/

 

What Is NGINX? - NGINX

Explore what NGINX is and learn how this high-performance software can act as a web server, load balancer, web accelerator, and more.

www.nginx.com

https://w3techs.com/technologies/overview/web_server

 

Usage Statistics and Market Share of Web Servers, May 2023

 

w3techs.com

아파치보다 사용률이 많은 웹 서버

엔진엑스라고 읽는다.

  • Nginx는 새로운 요청이 들어오더라도 새로운 프로세스와 쓰레드를 생성하지 않기 때문에 프로세스와 쓰레드 생성 비용이 존재하지 않고, 적은 자원으로도 운용이 가능합니다.
  • 이러한 Nginx의 장점 덕분에 단일 서버에서 동시에 많은 요청을 처리한다.
  • Event-Driven
    • apache 의 C10K 문제점 (한 시스템에 동시 접속자수가 1만명이 넘어갈 때, 1만개 이상의 소켓을 열때 I/O 처리 방식 문제 때문에 프로세스가 제대로 처리 못함.) 개선을 위해 만들어진 Event-Driven 구조의 경량 웹서버 이다.OSI7 Layer 중 application Level 아래의 Level 에서 Nginx 같은 웹서버가 HTTP 통신을 담당한다.
  • Nginx의 구조
    • Nginx는 하나의 Master Process와 다수의 Worker Process로 구성되어 실행됩니다. Master Process는 설정 파일을 읽고,유효성 검사 및 Worker Process를 관리합니다.
    • 모든 요청은 Worker Process에서 처리합니다. Nginx는 이벤트 기반 모델을 사용하고, Worker Process 사이에 요청을 효율적으로 분배하기 위해 OS에 의존적인 메커니즘을 사용합니다.
    • Worker Process의 개수는 설정 파일에서 정의되며, 정의된 프로세스 개수와 사용 가능한 CPU 코어 숫자에 맞게 자동으로 조정됩니다

 

드롭박스, 넷플릭스, Zynga 에서 엔진엑스를 사용한다. 

엔진엑스를 사용하여 API gateway 를 구축할 것이다.

Comments