Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre extrêmement actif
    Nginx est maintenant le serveur web le plus utilisé par les sites les plus fréquentés au monde
    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

    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
    Bien avec vous.

  2. #2
    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
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Expert éminent sénior
    Citation Envoyé par Gugelhupf Voir le message
    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.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  4. #4
    Membre habitué
    Pour l'hébergement mutualisé, Ngnix ne convient pas.

  5. #5
    Modérateur

    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" ?
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  6. #6
    Membre habitué
    Citation Envoyé par Gugelhupf Voir le message

    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.

  7. #7
    Membre éclairé
    Apache bien sur

  8. #8
    Membre actif
    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.

  9. #9
    Expert éminent sénior
    Citation Envoyé par Gugelhupf Voir le message
    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.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  10. #10
    Modérateur

    Salut @Marco46, Nginx ne facilite pas l'étape de déploiement car ne permet au DevOps d'écrire du script Nginx sans permettre (nativement) de choisir les paramètres liés à son environnement. Tu prends n'importe quel outil DevOps (Docker, Terraform, Jenkins CI, Gitlab CI etc), le script qui sera au final interprété peut être variabilisé pour gérer tes environnements. Le fait que Nginx te pousse à utiliser des utilitaires tels que envsubst en font un outil incomplet, malgré la puissance réputé de ce dernier.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  11. #11
    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.

  12. #12
    Membre expérimenté
    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...
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  13. #13
    Membre émérite
    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 ?
    Pensez à utiliser les pouces d’appréciation, pour participer à la visibilité de l'apport d'un propos, ou l'intérêt que vous y prêtez... qu'il soit positif ou négatif.

  14. #14
    Membre habitué
    d'ailleurs apache "tomcat" est un conteneur de servlet vu comme un plugin d'apache donc çà reste apache....

    Il aurait été judicieux de rajouter les serveurs web suivants :
    Caddy , lighttpd , jetty par exemple

    Citation Envoyé par Gugelhupf Voir le message
    Nginx ne facilite pas l'étape de déploiement car ne permet au DevOps d'écrire du script Nginx sans permettre (nativement) de choisir les paramètres liés à son environnement. Tu prends n'importe quel outil DevOps (Docker, Terraform, Jenkins CI, Gitlab CI etc), le script qui sera au final interprété peut être variabilisé pour gérer tes environnements. Le fait que Nginx te pousse à utiliser des utilitaires tels que envsubst en font un outil incomplet, malgré la puissance réputé de ce dernier.
    pourtant nginx se package avec un fichier de config dans un container tres facilement sans utilitaire en front de middleware comme flask , nodejs .

  15. #15
    Rédacteur/Modérateur

    Je préfère apache par ce que je connais pas les autres...
    Je vais regarder Ngnix !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...