NGINX는 웹 서비스, 역방향 프록싱, 캐싱, 부하 분산, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어입니다. 최대 성능과 안정성을 위해 설계된 웹 서버로 시작되었습니다. NGINX는 HTTP 서버 기능 외에도 이메일(IMAP, POP3, SMTP)용 프록시 서버 역할도 수행할 수 있으며 HTTP, TCP, UDP 서버의 역방향 프록시 및 부하 분산 장치 역할도 수행할 수 있습니다.

배경 스토리

이고르 시소예프는 원래 C10K 문제를 해결하기 위해 NGINX를 작성했습니다. C10K 문제는 기존 웹 서버가 대량( 10K )의 동시 연결( C )을 처리하는 데 겪는 어려움을 설명하기 위해 1999년에 만들어진 용어입니다. NGINX는 이벤트 중심의 비동기 아키텍처를 기반으로, 고성능 환경 에서 서버가 작동하는 방식에 혁명을 일으키고 가장 빠른 웹 서버가 되었습니다.

2004년에 프로젝트를 오픈 소스로 공개하고 그 사용이 기하급수적으로 증가하는 것을 지켜본 후, Sysoev는 NGINX, Inc.를 공동 설립하여 NGINX의 지속적인 개발을 지원하고 기업 고객을 위해 설계된 추가 기능을 갖춘 상용 제품으로 NGINX Plus를 마케팅했습니다. 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 오픈 소스를 통해 콘텐츠를 빠르고 안정적이며 안전하게 전송합니다.

  • 클라우드 기반 아키텍처를 위해 설계된 소프트웨어 전용 올인원 로드 밸런서, 웹 서버, API 게이트웨이 및 역방향 프록시인 NGINX는 IT 인프라와 애플리케이션 현대화 작업을 가속화하는 데 도움이 됩니다. NGINX Plus는 견고한 안정성과 보안을 제공하는 엔터프라이즈급 기능을 제공합니다.
  • NGINX는 다기능 도구입니다. NGINX를 사용하면 부하 분산 장치, 역방향 프록시, 콘텐츠 캐시, 웹 서버와 동일한 도구를 사용할 수 있으므로 조직에서 유지 관리해야 하는 도구와 구성의 양을 최소화할 수 있습니다. NGINX는 사용자가 시작하는 데 도움이 되는 문서다양한 전자책, 웨비나, 비디오를 제공합니다. NGINX Plus에는 신속한 대응이 가능한 고객 지원이 포함되어 있어 NGINX 또는 NGINX Plus를 사용하는 스택의 모든 부분을 진단하는 데 도움을 쉽게 받을 수 있습니다.
  • NGINX는 계속해서 발전하고 있습니다. 지난 10년 동안 NGINX는 현대 웹 개발의 최전선에 있었으며 HTTP/2부터 마이크로서비스 지원에 이르기까지 모든 분야에서 앞서 나가는 데 기여했습니다. 웹 애플리케이션 개발 및 제공이 계속해서 진화함에 따라 NGINX Plus는 NGINX에 맞게 사용자 정의된 JavaScript 구현을 사용한 구성 지원부터 동적 모듈 지원에 이르기까지 완벽한 애플리케이션 제공을 위한 기능을 계속 추가하고 있습니다. NGINX Plus를 사용하면 웹 성능의 최첨단을 유지할 수 있습니다.