NGINX est un logiciel open source pour le service Web, le proxy inverse, la mise en cache, l'équilibrage de charge, le streaming multimédia, etc. Il s’agissait au départ d’un serveur Web conçu pour des performances et une stabilité maximales. En plus de ses capacités de serveur HTTP, NGINX peut également fonctionner comme serveur proxy pour le courrier électronique (IMAP, POP3 et SMTP) et comme proxy inverse et équilibreur de charge pour les serveurs HTTP, TCP et UDP.
Igor Sysoev a écrit à l'origine NGINX pour résoudre le problème C10K , un terme inventé en 1999 pour décrire la difficulté rencontrée par les serveurs Web existants pour gérer un grand nombre (les 10K ) de connexions simultanées (les C ). Avec son architecture asynchrone pilotée par événements, NGINX a révolutionné le fonctionnement des serveurs dans des contextes de hautes performances et est devenu le serveur Web le plus rapide disponible.
Après avoir ouvert le projet en 2004 et observé son utilisation croître de manière exponentielle, Sysoev a cofondé NGINX, Inc. pour soutenir le développement continu de NGINX et commercialiser NGINX Plus en tant que produit commercial avec des fonctionnalités supplémentaires conçues pour les clients d'entreprise. NGINX, Inc. est devenue une partie de F5, Inc. en 2019. Aujourd'hui, NGINX et NGINX Plus peuvent gérer des centaines de milliers de connexions simultanées et alimenter davantage de sites Internet les plus fréquentés que tout autre serveur.
L'objectif derrière NGINX était de créer le serveur Web le plus rapide du marché, et maintenir cette excellence reste un objectif central du projet . NGINX bat systématiquement Apache et d'autres serveurs dans les tests de performance mesurant les performances des serveurs Web . Cependant, depuis la sortie originale de NGINX, les sites Web sont passés de simples pages HTML à un contenu dynamique et multiforme. NGINX a évolué avec lui et prend désormais en charge tous les composants du Web moderne, notamment WebSocket, HTTP/2, gRPC et le streaming de plusieurs formats vidéo (HDS, HLS, RTMP et autres).
Bien que NGINX soit devenu célèbre comme le serveur Web le plus rapide, l'architecture sous-jacente évolutive s'est avérée idéale pour de nombreuses tâches Web au-delà de la diffusion de contenu . Parce qu'il peut gérer un volume élevé de connexions, NGINX est couramment utilisé comme proxy inverse et équilibreur de charge pour gérer le trafic entrant et le distribuer vers des serveurs en amont plus lents, depuis les serveurs de base de données hérités jusqu'aux microservices.
NGINX est également fréquemment placé entre les clients et un deuxième serveur Web, pour servir de terminateur SSL/TLS ou d'accélérateur Web. Agissant comme intermédiaire, NGINX gère efficacement les tâches susceptibles de ralentir votre serveur Web, telles que la négociation SSL/TLS ou la compression et la mise en cache du contenu pour améliorer les performances. Les sites dynamiques, créés à l'aide de Node.js ou de PHP, déploient généralement NGINX comme cache de contenu et proxy inverse pour réduire la charge sur les serveurs d'applications et optimiser l' utilisation du matériel sous-jacent.
NGINX Plus et NGINX sont les meilleures solutions de serveur Web et de diffusion d'applications utilisées par les sites Web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites Web dans le monde s'appuient sur NGINX Plus et NGINX Open Source pour diffuser leur contenu rapidement, de manière fiable et sécurisée.