NGINX est un logiciel libre pour le service Web, le reverse proxying, la mise en cache, l’équilibrage de charge, le streaming média, et plus encore. Au départ, il s’agissait 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.
À l’origine, Igor Sysoev a écrit NGINX pour résoudre le problème C10K, un terme inventé en 1999 pour décrire la difficulté qu’éprouvaient les serveurs Web existants à gérer un grand nombre (10K) de connexions simultanées (C). Grâce à son architecture asynchrone pilotée par les événements, NGINX a révolutionné le fonctionnement des serveurs dans des contextes de haute performance et est devenu le serveur Web le plus rapide qui soit.
Après avoir ouvert le projet en 2004 et vu son utilisation croître de façon 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 entreprises. NGINX, Inc. a été intégré à F5, Inc. en 2019. Aujourd’hui, NGINX et NGINX Plus peuvent gérer des centaines de milliers de connexions simultanées et alimenter plus de sites parmi les plus actifs d’Internet que tout autre serveur.
L’objectif de NGINX était de créer le serveur web le plus rapide qui soit, et le maintien de cette excellence est toujours un objectif central du projet. NGINX bat régulièrement Apache et d’autres serveurs dans les benchmarks mesurant les performances des serveurs Web. Depuis la première version de NGINX, cependant, les sites Web sont passés de simples pages HTML à des contenus dynamiques et multiformes. NGINX a grandi avec eux et prend maintenant en charge tous les composants du web moderne, y compris WebSocket, HTTP/2, gRPC, et le streaming de plusieurs formats vidéo (HDS, HLS, RTMP, et d’autres).
Bien que NGINX soit devenu célèbre en tant que 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à du service de contenu. Grâce à sa capacité à 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 à des serveurs en amont plus lents, qu’il s’agisse de serveurs de base de données hérités ou de microservices.
NGINX est également souvent placé entre les clients et un second serveur Web, pour servir de terminaison SSL/TLS ou d’accélérateur Web. En tant qu’intermédiaire, NGINX gère efficacement les tâches qui pourraient ralentir votre serveur Web, comme la négociation SSL/TLS ou la compression et la mise en cache du contenu pour améliorer les performances. Les sites dynamiques, construits à l’aide de Node.js ou de PHP, déploient couramment NGINX comme cache de contenu et proxy inverse pour réduire la charge sur les serveurs d’application et utiliser le matériel sous-jacent de la manière la plus efficace possible.
NGINX Plus et NGINX sont les meilleurs serveurs Web et solutions de diffusion d’applications utilisés par des 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 de manière rapide, fiable et sécurisée.