Developpez.com - Rubrique Dév. Web

Le Club des Développeurs et IT Pro

Nginx est maintenant le serveur web le plus utilisé par les sites les plus fréquentés au monde

Devant Apache et Microsoft IIS, selon W3Tech

Le 2019-06-11 20:39:27, par Bruno, Chroniqueur Actualités
Selon un rapport de W3Techs, Nginx est maintenant le serveur web le plus utilisé par les sites les plus fréquentés au monde. Avec 38,8 % sur les 1000 sites les plus importants, il vient avant Apache qui couvre 33,7 % et Microsoft Internet Information Server (IIS) 9,2 %. Créé par Igor Sysoev et publié en octobre 2004, Nginx, prononcé « engine-ex », est un serveur Web à source ouverte qui, depuis son succès en tant que serveur Web, est également utilisé comme proxy inverse et équilibreur de charge pour le trafic des protocoles réseaux HTTP, TCP et UDP.


Reconnu aujourd’hui pour ses performances élevées, sa stabilité, son ensemble de fonctionnalités avancées, sa configuration simple et sa faible consommation de ressources, Nginx a été conçu initialement comme réponse au problème de performances liés au traitement de 10 000 connexions simultanées dénommé problème C10k. Ce dernier est relatif à un souci d'optimisation des connexions réseau pour gérer un grand nombre de clients en même temps ; Nginx utilise pour cela une architecture asynchrone et événementielle pour gérer ces énormes quantités de connexions.

Les données fournies par Siftery Discover montrent que parmi les entreprises qui bénéficient des avantages de Nginx, nous pouvons citer : Google, Facebook, LinkedIn, Cisco, Autodesk, T-Mobile, GitLab, Microsoft, IBM, Adobe, Salesforce, VMware, Xerox, Citrix Systems, Twitter, Apple, Intel.

Malgré cette progression de Nginx, le serveur web Apache ne semble pas encore être inquiété. Reconnu comme le serveur HTTP/HTTPS le plus populaire de la toile selon le rapport de W3Techs, il vient devant Nginx avec 43,9 % d’utilisation par les sites web utilisant divers serveurs web. « Apache est utilisé par 43,9 % des sites Web dont nous connaissons le serveur Web et par 34,2 % des sites Web dont le serveur Web est connu et qui se classent parmi les premiers 1 000 000 premiers », indique ce rapport.


Pourcentages de sites Web utilisant les serveurs Web sélectionnés


Rappelons qu'Apache est un serveur web créé et maintenu au sein de la fondation Apache (Apache Software Foundation ou ASF). Il est distribué selon les termes de la licence Apache. C’est l’un des serveurs web les plus anciens et les plus fiables avec une première version sortie il y a plus de 20 ans, en 1995. Il est hautement personnalisable, car il a une structure basée sur des modules. Les modules permettent aux administrateurs de serveur d’activer ou de désactiver des fonctionnalités supplémentaires, de gérer la sécurité, la mise en cache, la réécriture d’URL, l’authentification par mot de passe et encore plus.

Les raisons de la décadence progressive d’Apache ne sont pas difficiles à comprendre. D'une part, Apache a toujours eu du mal à gérer le trafic à fort volume et a été difficile à déployer. Nginx a été conçu dès le départ pour traiter spécifiquement des problèmes tels que la gestion rapide de pages statiques et l'équilibrage automatique de la charge, autant de fonctionnalités intéressantes sur un serveur web, en particulier si elles n'entraînent aucun coût supplémentaire.
Une autre raison possible de la décadence d’Apache dans le niveau supérieur est que Nginx est désormais inclus en tant que composant standard (ou semi-standard) dans de nombreuses distributions Linux majeures. Red Hat Entreprise Linux et Ubuntu Server offrent Nginx, soit comme une inclusion avec leurs dépôts ou dans le cadre d'une collection de logiciels.

Toutefois, il convient de savoir que Nginx développe en parallèle une version dénommée Nginx Plus qui est le produit commercial basé avec des fonctionnalités professionnelles supplémentaires pour la livraison, la surveillance et la reconfiguration dynamique des applications. Les statistiques de W3Techs ne spécifient pas si les sites utilisent la version à source ouverte ou commerciale de Nginx.

Source : W3Techs

Et vous ?

Que pensez-vous de cette progression de Nginx face à Apache ?

Que pensez-vous de l'approche de Nginx avec ses deux versions ?

Quel sont vos serveurs web préférés ? Pourquoi ?

Voir aussi

Serveurs Web : Nginx détient désormais un tiers des parts de marché tandis qu'Apache chute en dessous des 50 %, d'après W3Tech

F5 acquiert NGINX pour faire le pont entre les NetOps et les DevOps, et fournir aux clients des services applicatifs cohérents
  Discussion forum
14 commentaires
  • Marco46
    Expert éminent sénior
    Envoyé par Gugelhupf
    de souvenir il n'y a pas de templatisation, pas la possibilité d'injecter des variables au démarrage du service, pas la possibilité de prendre en compte les variables d'environnement ou les DNS indiqués dans le fichier hosts...
    Bref toutes les pratiques qu'il faut éradiquer pour avancer sur le chemin de DevOps. Du coup pas de problèmes.
  • Engiwip
    Membre habitué
    Envoyé par Gugelhupf

    La société F5 a acquis Nginx, à voir si le produit ne se MySQLise pas, je m'orienterais peut-être vers du Apache ou lighttpd
    je ne pense pas que retourner vers apache resolve le pb.
    nginx apporte un gain mémoire non négligeable lors des montées en charge et se marrie bien avec la boucle d'événements de Nodejs.
  • Marco46
    Expert éminent sénior
    Envoyé par Gugelhupf
    Salut @Marco46, Je veux bien, mais pourquoi recréer un fichier par environnement si on peut juste templatiser ? Quand je vois les ajouts apportés à Terraform avec les opérateurs conditionnels et boucles, c'est devenu un vrai langage de programmation, idem pour les Jenkinsfile en Groovy. Du coup quels sont les "bonnes pratiques" ?
    Ce n'est pas au serveur web de gérer ça. Le job d'un serveur web c'est de gérer les requêtes http, pas de configurer un livrable en fonction de son environnement, ça c'est du déploiement.
  • Gugelhupf
    Modérateur
    Je me sers principalement de Nginx pour faire du reverse proxy, je trouve qu'il a ses limites, de souvenir il n'y a pas de templatisation, pas la possibilité d'injecter des variables au démarrage du service, pas la possibilité de prendre en compte les variables d'environnement ou les DNS indiqués dans le fichier hosts...
    La société F5 a acquis Nginx, à voir si le produit ne se MySQLise pas, je m'orienterais peut-être vers du Apache ou lighttpd
  • greg91
    Membre actif
    Pour l'hébergement mutualisé, Ngnix ne convient pas.
  • darklinux
    Membre extrêmement actif
    Apache bien sur
  • Bonjour,

    Oui, Apache, pour sa souplesse. Nginx est très bien, mais ne permet pas autant qu'Apache dans la granularité des réglages. Me tromperais-je ?

    Maintenant, il est vrai que je connais beaucoup mieux Apache que Nginx, j'évalue donc probablement très mal ce dernier.
  • NBoulfroy
    Membre éclairé
    Ce que je pense de cette progression ? Nginx semble être plus adéquate pour certaines utilisations face à Apache alors tant mieux.

    Ce que je pense de l'approche de Nginx ? Elle est intéressante pour les applications nécessitant des infrastructures qui doivent supporter de fortes activités.

    Par défaut, mon serveur web préféré est Apache car j'ai été formé sur celui-ci et que je n'ai pas encore regardé Nginx réellement en plus du fait que l'entreprise où je travail utilise ce premier.
  • abriotde
    Membre chevronné
    NginX a toujours été bien meilleurs pour les site ayant beaucoup de requête, pour la monté en charge. Par contre il est évidemment un peu plus complexe a mettre en œuvre qu'un Apache. La seul raison de la résistance d'Apache (pour les gros site) est l'inertie à tous les niveaux...
  • Steinvikel
    Membre expert
    Si Nginx est apparue pour résoudre des problèmes de performances lorsque solicité par de fortes charges, et est devenu (à lire certains commentaires) un langage de programmation... pourquoi Nginx (qui est un serveur web) n'est pas comparé au framework cppCMS (C++) qui est justement apparu lui aussi pour ça.

    Quelqu'un aurait connaissance d'un comparatif de gain de perf' entre Apache vs Nginx et Apache vs CppCMS ?