NGINX는 웹 서비스, 역방향 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어로, 성능과 안정성을 극대화하기 위해 설계된 웹 서버로 시작되었습니다. 또한 NGINX는 HTTP 서버 기능 외에도 이메일(IMAP, POP3 및 SMTP) 프록시 서버 역할을 수행하고 HTTP, TCP 및 UDP 서버용 역방향 프록시 및 로드 밸런서 역할도 수행할 수 있습니다.
Igor Sysoev는 1999년 기존 웹 서버가 많은 수(10K)의 동시 연결C을 처리하는 데 겪는 어려움을 설명하기 위해 만들어진 용어인 C10K 문제를 해결하기 위해 NGINX를 처음 개발했습니다. 이벤트 중심의 비동기식 아키텍처를 통해 NGINX는 서버가 고성능 환경에서 작동하는 방식을 혁신했으며 가장 빠른 웹 서버로 자리 잡았습니다.
2004년에 이 프로젝트를 오픈 소싱하고 그 사용이 기하급수적으로 증가하는 것을 지켜본 후, Sysoev는 NGINX의 지속적인 개발을 지원하고 기업 고객을 위해 설계된 추가 기능을 갖춘 상용 제품으로 NGINX Plus를 출시하기 위해 NGINX, Inc.를 공동 설립했습니다. NGINX, Inc.는 2019년에 F5, Inc.의 일부가 되었습니다. 오늘날 NGINX와 NGINX Plus는 수십만 개의 동시 연결을 처리하고 다른 어떤 서버보다 인터넷에서 가장 바쁜 사이트를 많이 구동할 수 있는 역량을 갖추고 있습니다.
NGINX의 목표는 가장 빠른 웹 서버를 만드는 것이었으며, 이러한 우수성을 유지하는 것이 여전히 프로젝트의 핵심 목표입니다. 웹 서버 성능을 측정하는 벤치마크에서 NGINX는 Apache 및 기타 서버를 지속적으로 능가합니다. 그러나 NGINX가 처음 출시된 이후 웹사이트는 단순한 HTML 페이지에서 동적인 다방면의 콘텐츠로 확장되었습니다. NGINX는 이와 함께 성장하여 현재 WebSocket, HTTP/2, gRPC 및 여러 비디오 형식(HDS, HLS, RTMP 등)의 스트리밍을 포함한 최신 웹의 모든 구성 요소를 지원합니다.
NGINX는 가장 빠른 웹 서버로 유명해졌지만, 확장 가능한 기본 아키텍처는 콘텐츠 제공 외에도 많은 웹 작업에 적합합니다. NGINX는 대량의 연결을 처리할 수 있기 때문에 일반적으로 레거시 데이터베이스 서버에서 마이크로서비스에 이르기까지 유입되는 트래픽을 관리하고 느린 업스트림 서버로 분산하는 역방향 프록시 및 로드 밸런서로 사용됩니다.
또한 NGINX는 클라이언트와 두 번째 웹 서버 사이에 배치되어 SSL/TLS 터미네이터 또는 웹 가속기 역할을 하는 경우가 많습니다. 중개자 역할을 하는 NGINX는 SSL/TLS 협상 또는 성능 향상을 위한 콘텐츠 압축 및 캐싱 등과 같이 웹 서버 속도를 저하시킬 수 있는 작업을 효율적으로 처리합니다. Node.js에서 PHP까지 다양한 방식으로 구축되는 동적 사이트는 일반적으로 애플리케이션 서버의 부하를 줄이고 기본 하드웨어를 가장 효과적으로 활용하기 위해 콘텐츠 캐시 및 역방향 프록시로 NGINX를 배포합니다.
NGINX Plus와 NGINX는 Dropbox, Netflix, Zynga 등과 같이 트래픽이 많은 웹사이트에서 사용되는 동급 최고의 웹 서버이자 애플리케이션 딜리버리 솔루션입니다. 전 세계 3억 5천만개 이상의 웹사이트가 콘텐츠를 빠르고 안정적이며 안전하게 제공하기 위해 NGINX Plus와 NGINX Open Source를 사용하고 있습니다.