NGINX는 웹 서비스, 리버스 프록시, 캐싱, 부하 분산, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어입니다. 처음에는 최고의 성능과 안정성을 목표로 설계된 웹 서버로 시작했습니다. NGINX는 HTTP 서버 기능 외에도 이메일(IMAP, POP3, SMTP)용 프록시 서버와 HTTP, TCP, UDP 서버용 리버스 프록시 및 부하 분산 장치로도 사용할 수 있습니다.

배경 이야기

Igor Sysoev는 원래 C10K 문제를 해결하기 위해 NGINX를 개발했습니다. C10K는 1999년에 만들어진 용어로, 기존 웹 서버가 대량의 동시 연결(약 1만 개)을 처리하는 데 겪었던 어려움을 뜻합니다. 여기서 C는 연결(Connection)을 의미합니다. 이벤트 기반 비동기 아키텍처를 갖춘 NGINX는 고성능 환경에서 서버가 작동하는 방식을 혁신했으며, 현존하는 가장 빠른 웹 서버로 자리매김했습니다.

2004년에 프로젝트를 오픈 소스로 공개한 후 사용량이 기하급수적으로 증가하는 것을 지켜본 시소예프는 NGINX의 지속적인 개발을 지원하고 NGINX Plus를 엔터프라이즈 고객을 위해 설계된 추가 기능을 갖춘 상용 제품으로 출시하기 위해 NGINX, Inc.를 공동 설립했습니다. NGINX, Inc.는 2019년에 F5, Inc.의 일부가 되었습니다. 현재 NGINX와 NGINX Plus는 수십만 개의 동시 연결을 처리할 수 있으며, 다른 어떤 서버보다 인터넷에서 가장 트래픽이 많은 사이트를 더 많이 지원합니다.

웹 서버로서의 NGINX

NGINX의 목표는 가장 빠른 웹 서버를 만드는 것이었으며, 이러한 탁월함을 유지하는 것은 여전히 프로젝트의 핵심 목표입니다. NGINX는 웹 서버 성능을 측정하는 벤치마크에서 Apache와 기타 서버를 꾸준히 능가합니다. 하지만 NGINX가 처음 출시된 이후 웹사이트는 단순한 HTML 페이지에서 동적이고 다면적인 콘텐츠로 발전했습니다. NGINX도 이에 발맞춰 성장해 왔으며 이제 WebSocket, HTTP/2, gRPC를 비롯해 다양한 동영상 형식(HDS, HLS, RTMP 등)의 스트리밍까지 현대 웹의 모든 구성 요소를 지원합니다.

웹 서비스 그 이상의 NGINX

NGINX는 가장 빠른 웹 서버로 유명해졌지만, 확장 가능한 기반 아키텍처는 콘텐츠 제공을 넘어 다양한 웹 작업에 이상적이라는 것이 입증되었습니다. NGINX는 대량의 연결을 처리할 수 있으므로 수신 트래픽을 관리하고 레거시 데이터베이스 서버부터 마이크로서비스에 이르는 처리 속도가 더 느린 업스트림 서버로 분산하기 위한 리버스 프록시 및 로드 밸런서로 널리 사용됩니다.

NGINX는 SSL/TLS 종단 처리기 또는 웹 가속기 역할을 하도록 클라이언트와 보조 웹 서버 사이에 배치되는 경우도 많습니다. NGINX는 중개자 역할을 하면서 SSL/TLS 협상이나 성능 향상을 위한 콘텐츠 압축 및 캐싱처럼 웹 서버의 속도를 저하시킬 수 있는 작업을 효율적으로 처리합니다. Node.js부터 PHP까지 다양한 기술로 구축된 동적 사이트에서는 일반적으로 NGINX를 콘텐츠 캐시 및 리버스 프록시로 배포하여 애플리케이션 서버의 부하를 줄이고 기반 하드웨어를 가장 효율적으로 활용 합니다.

NGINX와 NGINX Plus로 무엇을 할 수 있을까요?

NGINX Plus와 NGINX는 Dropbox, Netflix, Zynga와 같이 트래픽이 많은 웹사이트에서 사용하는 업계 최고의 웹 서버 및 애플리케이션 전송 솔루션입니다. 전 세계 3억 5천만 개의 웹사이트가 콘텐츠를 빠르고 안정적이며 안전하게 전송하기 위해 NGINX Plus와 NGINX Open Source를 사용하고 있습니다.

  • 클라우드 네이티브 아키텍처용으로 설계된 소프트웨어 전용 올인원 로드 밸런서, 웹 서버, API 게이트웨이 및 리버스 프록시인 NGINX는 IT 인프라 및 애플리케이션 현대화를 가속화할 수 있도록 지원합니다. NGINX Plus는 강력한 안정성과 보안을 제공하는 엔터프라이즈급 기능을 제공합니다.
  • NGINX는 다기능 도구입니다. NGINX를 사용하면 하나의 도구를 로드 밸런서, 리버스 프록시, 콘텐츠 캐시 및 웹 서버로 활용할 수 있어 조직에서 유지 관리해야 하는 도구와 구성의 수를 최소화할 수 있습니다. NGINX는 빠르게 시작할 수 있도록 설명서 및 다양한 eBook, 웨비나 및 동영상을 제공합니다. NGINX Plus에는 신속 대응 고객 지원이 포함되어 있어 NGINX 또는 NGINX Plus를 사용하는 스택의 모든 부분에서 발생하는 문제를 진단할 때 손쉽게 도움을 받을 수 있습니다.
  • NGINX는 끊임없이 발전하고 있습니다. 지난 10년간 NGINX는 현대 웹 개발의 최전선에서 HTTP/2부터 마이크로서비스 지원에 이르기까지 다양한 분야를 선도해 왔습니다. 웹 애플리케이션의 개발 및 제공 방식이 계속 발전함에 따라 NGINX Plus는 완벽한 애플리케이션 제공을 지원하기 위해 NGINX에 맞게 사용자 지정된 JavaScript 구현을 활용한 구성 지원부터 동적 모듈 지원에 이르기까지 새로운 기능을 지속적으로 추가하고 있습니다. NGINX Plus를 사용하면 웹 성능의 최첨단을 계속 유지할 수 있습니다.

NGINX One과 NGINX Open Source의 주요 차이점을 알아보려면 자세한 비교표를 확인하세요.