Aller au contenu

Nginx

Serveur web Nginx

C’est quoi nginx

Nginx est un logiciel serveur web open source, il s’emploie aussi comme reverse proxy pour d’autres serveurs web. Avec le serveur web Apache, ils comptabilisent le plus grand nombre d’emploi pour les sites web. Le serveur web Nginx tend même à prendre le devant. Toutefois, Apache ne se trouve pas pour autant délaissé. Ils correspondent plutôt à des scenarii différents, la combinaison des deux serveurs s’avère une solution optimale dans certains cas. Sa version commerciale Nginx Plus propose plus de fonctionnalités, un support technique plus efficace et une documentation plus riche.

Nginx doit son origine au russe Igor Sysoev en 2002. Mais ce n’est qu’en 2004 que son lancement officiel eu lieu. Le développement initial de Nginx visait à répondre aux besoins en fort trafic, plus précisément à un problème de performances lié au traitement de 10 000 connexions simultanées (problème c10k). Les concepteurs de nginx réussirent à résoudre ce problème en optant pour une architecture asynchrone et événementielle. Grâce à cela, Nginx est capable de gérer efficacement un nombre important de connexion concurrentes.

Quelles sont les principales fonctionnalités du serveur web nginx

Depuis sa création, Nginx fonctionne avec les systèmes d’exploitation BSD, Mac OS X, GNU/Linux et par la suite sur Windows. Très peu connu à ses débuts sauf en Russe, Nginx monta en popularité après sa traduction en anglais en 2006. Depuis lors, sa capacité à fournir des performances élevées, à utiliser à minima des ressources mémoire et à gérer du contenu statique, sans les coûts en plus a séduit plus d’un. Faisant de ce lui, le serveur web privilégié pour les sites web générant le plus de trafic.

Selon le scénario, il peut fonctionner tout seul afin de réaliser la tâche d’un serveur web pour la gestion de contenu statique. Ou bien déployé comme proxy pour d’autres serveurs afin de les protéger des trafics très élevés ou de certaines attaques DDOS. En résumé, il convient le mieux à la gestion de site à contenu statique. Il peut néanmoins être associé avec Apache par exemple pour des sites associant du contenu dynamique et statique en plus du nombre élevé de connexion simultanées.

Comparaison nginx et Apache

Apache a longtemps été le serveur web de référence. Cependant, ses limitations amenèrent les utilisateurs à se tourner vers d’autres solutions. Nginx parvint à fournir cette performance et supplanta même Apache dans certains cas.

Bien que les deux logiciels peuvent servir les pages web, des caractéristiques importantes les diffèrent. Le plus important est leur architecture. Apache adopte une approche axée sur les processus, c’est-à-dire qu’à chaque requête correspond un thread. Nginx opte plutôt pour une approche axée sur les événements. Ainsi, un seul thread permet de traiter plusieurs requêtes. Ce modèle accorde à Nginx un gain de performance pour peu de ressources consommées.

Côté flexibilité, caractéristique importante d’un serveur web, Apache propose une forte personnalisation grâce à ses nombreux modules complémentaires. Nginx, par contre, ne permet pas encore cette ultra personnalisation. Concernant la sécurité, les deux serveurs grâce à leurs bases en code C, s’avèrent délivrer une sécurité optimale contre divers piratages et menaces.

En conclusion, chaque serveur convient mieux à un besoin que l’autre. Malgré la popularité de Nginx, le choix de son utilisation doit sur faire à la suite d’une véritable étude et non pas sous effet de mode, que ce soit pour les hébergeurs web ou des plus petits projets.