- Il s'agit d'un serveur Web open source, rapide, léger et hautes performances qui peut être utilisé pour servir des fichiers statiques.
- NGINX est considéré comme le serveur Web populaire derrière le serveur Web Apache et IIS de Microsoft.
- Dans sa version initiale, NGINX fonctionnait pour le service Web HTTP. Aujourd'hui, cependant, il sert également de serveur proxy inverse pour les protocoles HTTP, HTTPS, SMTP, IMAP, POP3. D'autre part, il est également utilisé pour l'équilibreur de charge HTTP, le cache HTTP et le proxy de messagerie pour IMAP, POP3 et SMTP.
- NGINX améliore la fourniture de contenu et d'applications, améliore la sécurité et facilite l'évolutivité et la disponibilité des sites Web les plus fréquentés sur Internet.
- En bref, nous pouvons dire que Nginx n'est qu'une sorte de logiciel utilisé dans les serveurs Web pour répondre à des requêtes simultanées.
- Auparavant, nous avions l'habitude d'installer Apache sur des serveurs Web pour gérer ces fonctions, mais à mesure que le monde grandit et exige plus de choses à la fois, le terme de concurrence apparaît dans le monde et nginx est lancé pour la même chose.
- Nginx a été créé par Igor Sysoev, avec son 1Stsortie publique en octobre 2004 pour tenter de répondre à la Problème C10k . Où C10k représente le défi de gérer 10 000 connexions en même temps. Aujourd’hui, les serveurs Web doivent gérer encore plus de connexions. Pour cette raison, nginx propose une architecture événementielle et asynchrone. Cette fonctionnalité fait de nginx le serveur le plus fiable en termes d’évolutivité et de vitesse.
- Certaines entreprises de premier plan utilisant Nginx incluent IBM, Google, Atlassian, Autodesk, GitLab, DuckDuckGo, T-Mobile, Microsoft, Adobe, Salesforce, VMware, LinkedIn, Cisco, Twitter, Apple, Intel, Facebook et bien d'autres.
Pourquoi utiliser NGINX ?
NGINX fournit divers services tels que des services de proxy inverse, d'équilibrage de charge et de limite de débit. Le proxy inverse est utile si plusieurs services Web écoutent sur différents ports et que nous avons besoin d'un seul point de terminaison public pour rediriger les requêtes en interne. Cela nous permettrait d'héberger plusieurs noms de domaine sur le port 80 tout en utilisant une combinaison de différents NodeJ, Go et Java pour alimenter des services Web distincts en coulisses.
Nginx peut gérer la journalisation, la mise sur liste noire, l'équilibrage de charge et la diffusion de fichiers statiques pendant que les services Web se concentrent sur ce qu'ils doivent faire.
La configuration de Nginx est plus simple que celle d'Apache httpd. Nginx a été conçu pour une concurrence élevée et est très rapide.
Comment fonctionne NGINX ?
Avant de connaître le processus de NGINX, regardons comment fonctionne un serveur web. Lorsque nous demandons d'ouvrir une page Web, le navigateur contacte le serveur. Ensuite, le serveur recherche les fichiers demandés pour la page et les envoie au navigateur. C'est le seul type de travail le plus simple pour une demande.
L'exemple ci-dessus est également considéré comme un seul thread. Traditionnellement, les serveurs Web comme Apache créent un seul thread pour chaque requête, mais Nginx ne fonctionne pas de cette façon. Nginx fonctionne avec une architecture asynchrone basée sur les événements. Il suit intelligemment les événements d'un processus.
Nginx a divisé son travail en processus de travail et connexions des travailleurs . Ici, les connexions des travailleurs sont utilisées pour gérer la demande effectuée et la réponse obtenue par les utilisateurs sur le serveur Web ; en même temps, ces requêtes sont transmises à son processus parent appelé processus de travail.
Voyons un exemple de serveur Nginx gérant les requêtes simultanées de fichiers MP3 et MP4 : -
D'après le diagramme ci-dessus, nous pouvons voir qu'une seule connexion de travail peut gérer environ 1 024 connexions à la fois. C'est la meilleure capacité d'une connexion de travailleur. Il peut y avoir « n » nombres de processus de travail dans Nginx en fonction du type de serveur dont nous disposons et chaque processus de travail gère différentes tâches afin de pouvoir gérer plus de nombres de requêtes simultanées.
Enfin, le processus de travail transfère les requêtes au processus maître Nginx qui répond directement aux requêtes uniques uniquement.
Étant donné que la connexion Worker peut prendre en charge jusqu'à 1 024 demandes similaires. Grâce à cela, Nginx peut gérer des milliers de requêtes sans aucune difficulté. C'est également la raison pour laquelle Nginx est devenu un excellent serveur pour les sites Web très fréquentés tels que le commerce électronique, les moteurs de recherche et le stockage cloud.
Caractéristiques de NGINX
Certaines fonctionnalités de Nginx sont les suivantes :
- Proxy inverse avec mise en cache
- IPv6
- L'équilibrage de charge
- Prises Web
- Gestion des fichiers statiques, des fichiers d'index et de l'indexation automatique
- Prise en charge de FastCGI avec mise en cache
- Réécriture et redirection d'URL
Que peuvent faire NGINX et NGINX Plus pour vous ?
Nginx et Nginx plus sont les meilleurs serveurs Web et solutions de livraison d'applications utilisés par les sites Web à fort trafic tels que Netflix, Dropbox et Zynga. Les sites Web les plus fréquentés comme Google, Netflix, Twitter, Facebook, etc. s'appuient sur Nginx et Nginx Plus pour diffuser leur contenu de manière sécurisée, fiable et rapide.
- Nginx rend les équilibreurs de charge matériels obsolètes - Nginx est open source, moins cher et plus configurable que les équilibreurs de charge matériels, et est conçu pour les architectures cloud modernes.
Nginx plus fournit une prise en charge de la reconfiguration à la volée et s'intègre aux outils DevOps modernes pour une surveillance plus facile. - NNginx est un outil multifonction : avec l'utilisation de Nginx, nous pouvons utiliser le même outil que notre équilibreur de charge, notre cache de contenu, notre proxy inverse et notre serveur Web. Il minimise la quantité d'outils que la configuration de notre organisation doit maintenir.
Nginx Plus inclut une réponse rapide au support client, afin que nous puissions facilement obtenir de l'aide pour diagnostiquer toute partie de notre pile qui utilise Nginx Plus et Nginx. - NGINX continue d'évoluer. Au cours de la dernière décennie, NGINX a été à l'avant-garde du développement du Web moderne et a contribué à ouvrir la voie dans tous les domaines, du HTTP/2 à la prise en charge des microservices.
À mesure que le développement et la fourniture d'applications Web continuent d'évoluer, NGINX Plus ajoute continuellement des fonctionnalités pour permettre une livraison d'applications sans faille.