Nginx vs Apache : Lequel vous sert le mieux ?

Crédits de conception Apache vs Nginx en vedette : Vecteezy.com-226441

Depuis deux décennies, Apache domine le marché des serveurs web qui se réduit de jour en jour. Non seulement Nginx a rattrapé le plus ancien des acteurs, mais il est actuellement le chouchou de nombreux sites à fort trafic. Les utilisateurs d’Apache pourraient ne pas être d’accord ici. C’est pourquoi il ne faut pas tirer de conclusions hâtives sur le serveur web qui est le meilleur. La vérité est que les deux forment le cœur de piles web complètes, et le choix final dépend des besoins individuels.

Par exemple, les personnes gérant des sites Drupal font souvent appel à Apache, tandis que les utilisateurs de WordPress semblent préférer Nginx autant, sinon plus. En conséquence, notre objectif est de vous aider à mieux comprendre vos propres besoins plutôt que de fournir une recommandation unique. Cela dit, la comparaison suivante entre les deux donne une image précise.

À lire aussi : 12 meilleurs logiciels open-source à essayer en 2021

1. Popularité

Jusqu’en 2012, plus de 65 % des sites web étaient basés sur Apache, une popularité due en grande partie à son héritage historique. C’était l’un des premiers logiciels qui a favorisé la croissance du World Wide Web. Cependant, les temps ont changé. Selon W3Tech.com, au 14 janvier 2019, Apache (44,4 %) est juste légèrement en avance sur Nginx (40,9 %) en termes de sites utilisant leurs serveurs. Ensemble, ils dominent près de 85 % du marché des serveurs web.

Part de marché des serveurs web W3techs.com

En ce qui concerne les sites web à fort trafic, le graphique suivant est intéressant. Bien sûr, Nginx est largement en avance sur Apache mais reste derrière les serveurs Google qui alimentent des sites comme YouTube, Gmail et Drive.

Marché des serveurs web @ W3Techs 15-Jan-2019

À un moment donné, un grand nombre de sites web (y compris ce site) ont migré d’Apache vers Nginx. Il est clair que ce dernier est perçu comme le serveur web le plus récent et le plus tendance. Les sites à fort trafic qui sont sur Apache, par exemple Wikipedia et le New York Times, utilisent souvent un proxy HTTP frontal comme Varnish.

Score : L’écart de popularité entre Apache et Nginx se réduit très rapidement. Mais, comme Apache est toujours en tête en chiffres absolus, nous considérerons ce tour comme un match nul.

2. Vitesse

La principale caractéristique d’un bon serveur web est qu’il doit fonctionner rapidement et répondre facilement aux connexions et au trafic de n’importe où. Pour mesurer les vitesses des serveurs, nous avons comparé deux sites de voyage populaires basés sur Apache (Expedia.com) et Nginx (Booking.com). À l’aide d’un outil en ligne appelé Bitcatcha, les comparaisons ont été effectuées pour plusieurs serveurs et mesurées par rapport à la référence de Google de 200 ms. Booking.com basé sur Nginx a été noté “exceptionnellement rapide”. En revanche, Expedia.com basé sur Apache a été noté “au-dessus de la moyenne et pourrait être amélioré.”

Ayant utilisé ces deux sites de voyage tant de fois, je peux personnellement attester qu’Expedia semble légèrement plus lent à retourner des résultats à ma requête que Booking.

Temps de réponse du serveur web Booking.com (Nginx) vs. Expedia.com (Apache)

Voici des comparaisons entre les deux serveurs pour quelques autres sites. Nginx semble plus rapide dans tous les cas ci-dessous, sauf un.

Vitesses des serveurs de sites testées à Bitcatcha

Score : Nginx remporte le round de vitesse.

À lire aussi : Comment configurer le certificat SSL gratuit “Let’s Encrypt” dans Nginx (Ubuntu)

3. Sécurité

Nginx et Apache prennent tous deux la sécurité très au sérieux sur leurs sites web. Il n’y a pas de pénurie de systèmes robustes pour faire face aux attaques DDoS, aux logiciels malveillants et au phishing. Les deux publient périodiquement des rapports et des avis de sécurité qui garantissent que la sécurité est renforcée à tous les niveaux.

Score : Nous considérerons ce tour comme un match nul.

4. Concurrence

Il y a une perception qu’Apache ne mesure pas à la hauteur de l’échelle et de la capacité de Nginx. Après tout, Nginx a été conçu à l’origine pour accélérer les problèmes de vitesse avec les gestionnaires FastCGI et SCGI. Cependant, depuis Apache 2.4 (qui est la version par défaut), il y a eu une amélioration drastique du nombre de connexions simultanées. À quel point cette amélioration a été réalisée mérite d’être découvert.

Sur la base des tests de stress à Loadimpact.com, nous avons de nouveau comparé Booking.com (Nginx) avec Expedia.com (Apache). Pour 25 utilisateurs virtuels, le site Nginx a pu enregistrer 200 requêtes par seconde, ce qui est 2,5 fois plus que les 80 requêtes par seconde d’Apache. Il est clair que si vous avez un site à fort trafic, Nginx est un choix plus sûr.

Tests de scalabilité Apache contre Nginx à Loadimpact.com

Score : Nginx remporte le round de concurrence.

5. Flexibilité

Un serveur web doit être suffisamment flexible pour permettre des personnalisations. Apache le fait assez bien en utilisant des outils .htaccess, que Nginx ne prend pas en charge. Cela permet de décentraliser les tâches d’administration. Les administrateurs tiers et de second niveau peuvent être empêchés d’accéder au serveur principal. De plus, Apache prend en charge plus de 60 modules, ce qui le rend hautement extensible. Il y a une raison pour laquelle Apache est plus populaire auprès des fournisseurs d’hébergement partagé.

Fonctionnalités flexibles d'Apache : Modules plus exemple htaccess

Score : Apache remporte ce round.

Autres paramètres

Dans le passé, Nginx ne prenait pas bien en charge Windows OS, contrairement à Apache. Ce n’est plus le cas. De plus, Apache était considéré comme faible pour l’équilibrage de charge et le proxy inverse, ce qui a changé maintenant.

Résultat final

Nginx remporte ce concours de justesse 2-1. Cela dit, une comparaison objective entre Nginx et Apache sur des paramètres techniques ne donne pas l’image complète. En fin de compte, notre verdict est que les deux serveurs web sont utiles à leur manière.

Alors qu’Apache devrait être utilisé avec un serveur frontal (Nginx lui-même est une option), Nginx peut être meilleur avec plus de personnalisations et de flexibilité.