Pendant deux décennies, Apache a transformé le marché en déclin des serveurs Web. Nginx a non seulement rattrapé Apache, mais est désormais le choix de nombreux sites Web à fort trafic. Les utilisateurs d'Apache peuvent être en désaccord sur cette question. C’est pourquoi il est difficile de déterminer quel hébergeur est le meilleur. La vérité est qu'Apache et Nginx sont tous deux des éléments essentiels de piles Web complètes (LAMP ainsi que LEMP) et que le choix final dépend des besoins individuels.
Par exemple, les utilisateurs de sites Drupal choisissent souvent Apache, tandis que les utilisateurs de WordPress semblent privilégier davantage Nginx. Par conséquent, l’objectif de cet article est de vous aider à mieux comprendre vos propres besoins, plutôt que de fournir des recommandations stéréotypées à tout le monde. La comparaison suivante entre Nginx et Apache vous donnera un aperçu précis.
Nginx ou Apache sont-ils un meilleur serveur ?
1. Popularité
En 2012, plus de 65 % des sites Web étaient basés sur Apache. Cette popularité n’est pas seulement due à la longue histoire d’Apache. Il s'agit de l'un des premiers logiciels pionniers pour le développement du World Wide Web. Cependant, les temps ont changé. Selon W3Tech.com, au 14 janvier 2019, le nombre de sites Web utilisant des serveurs Apache (44,4 %) n'était que légèrement supérieur à celui de Nginx (40,9 %). Nginx et Apache dominent près de 85 % du marché des serveurs web.
Lorsqu’il s’agit de sites Web à fort trafic, le tableau suivant est intéressant. En particulier, Nginx est au-dessus d'Apache mais en dessous de Google Servers, un service qui fournit des serveurs pour des sites Web comme YouTube , Gmail et Drive.
Un grand nombre de sites Web ont migré d'Apache vers Nginx. De toute évidence, Nginx est considéré comme un serveur Web plus récent et plus tendance. Les sites à fort trafic sur Apache, par exemple Wikipedia et le New York Times, utilisent souvent un proxy HTTP frontal comme Varnish.
Conclusion : L'écart de popularité entre Apache et Nginx se réduit très rapidement. Sur ce point, Apache et Nginx sont à égalité.
2. Vitesse
La principale caractéristique d’un bon serveur Web est qu’il doit fonctionner rapidement et s’adapter facilement aux connexions et au trafic de n’importe où. Pour mesurer la vitesse du serveur, l'article comparait deux sites Web de voyage populaires basés sur Apache (Expedia.com) et Nginx (Booking.com). À l'aide d'un outil en ligne appelé Bitcatcha, des comparaisons ont été effectuées sur plusieurs serveurs et mesurées par rapport au benchmark de plus de 200 ms de Google. Booking.com basé sur Nginx est classé « exceptionnellement rapide ». En revanche, Expedia.com, basé sur Apache, a été noté « au-dessus de la moyenne et peut être amélioré ».
Si vous avez utilisé ces deux sites de voyage plusieurs fois, vous pouvez confirmer qu'Expedia est un peu plus lent à renvoyer les résultats des requêtes que Booking.
Vous trouverez ci-dessous une comparaison entre les deux hébergeurs pour quelques autres sites Web. Nginx est plus rapide dans la plupart des cas ci-dessous, à une exception près.
Conclusion : Nginx remporte cette manche.
3. Sécurité
Nginx et Apache prennent très au sérieux la sécurité de leurs sites Web. Aucun système robuste n'est complet sans contre-mesures contre les attaques DDoS , les logiciels malveillants et le phishing . Les deux serveurs publient périodiquement des rapports et des avis de sécurité, garantissant que l'aspect sécurité est amélioré à tous les niveaux.
Conclusion : Nginx et Apache sont à nouveau à égalité dans ce tour.
4. Connexions simultanées
Une chose à noter est qu’Apache, à certains égards, ne peut pas se comparer à l’échelle et aux capacités de Nginx. Après tout, Nginx a été initialement conçu pour accélérer les gestionnaires FastCGI et SCGI. Cependant, depuis Apache 2.4 (la version par défaut), le nombre de connexions simultanées a été considérablement amélioré. Il vaut la peine d’examiner dans quelle mesure cette amélioration a progressé.
Sur la base de tests effectués sur Loadimpact.com, l'article compare à nouveau Booking.com (Nginx) avec Expedia.com (Apache). Pour 25 utilisateurs virtuels, le site Nginx peut enregistrer 200 requêtes par seconde, soit 2,5 fois plus qu'Apache (80 requêtes par seconde). Évidemment, si vous disposez d’un site Web dédié à fort trafic, Nginx est un choix plus sûr.
Conclusion : Nginx remporte cette manche.
5. Flexibilité
Un hébergeur doit être suffisamment flexible pour permettre les personnalisations. Apache le fait très bien, grâce à l'utilisation d'outils .htaccess que Nginx ne prend pas en charge. Il permet la décentralisation des tâches administratives. Les administrateurs tiers et les administrateurs de deuxième niveau peuvent ne pas avoir accès au serveur principal. De plus, Apache prend en charge plus de 60 modules, ce qui le rend hautement évolutif. C'est pourquoi Apache est plus populaire auprès des fournisseurs d'hébergement partagé.
Conclusion : Apache remporte cette manche.
Autres paramètres
Auparavant, Nginx n'offrait pas un très bon support pour les systèmes d'exploitation Windows, contrairement à Apache. Cependant, ce n’est plus le cas. De plus, Apache était également considéré comme assez faible en termes d'équilibrage de charge et de proxy de réserve . Mais tout a changé maintenant !
Résultat final
Nginx s'est imposé de justesse sur le score de 2-1. Cela dit, une comparaison objective entre Nginx et Apache en termes de spécifications techniques donnera une image complète. La conclusion finale est que les deux hébergeurs sont utiles à leur manière.
Alors qu'Apache doit être utilisé avec un serveur frontal (pour lequel Nginx lui-même est une option), Nginx peut être meilleur avec plus de personnalisation et de flexibilité.