Dans mon article précédent, j’ai exploré pourquoi PHP7 est la voie à suivre pour WordPress et dans l’article d’aujourd’hui, c’est au tour du serveur Web.
Une grande partie d’une bonne expérience d’hébergement est la façon dont la pile de serveurs Web est configurée. Avoir une pile rapide est primordial pour de bonnes performances WordPress et une excellente expérience utilisateur. J’ai déjà expliqué pourquoi PHP7 est un si bon moyen d’améliorer automatiquement les performances de WordPress, mais qu’en est-il du serveur Web réel ?
Aujourd’hui, je vais vous expliquer : qu’est-ce qu’un serveur Web, quels sont les plus populaires et pourquoi nginx est si bon !
Le serveur Web
L’un des aspects les plus importants de l’hébergement est la serveur Web. Le serveur Web est chargé de fournir du contenu statique tel que HTML et de l’envoyer au client (c’est-à-dire directement dans votre navigateur). Ainsi, le serveur Web sera également chargé de traiter toutes les informations provenant du processeur PHP et de les convertir en bits qui transitent par le réseau dans votre navigateur. La pile de serveur Web fonctionne avec le modèle client/serveur où le serveur Web agit en tant que serveur (fournisseur de contenu) et le client (vous) celui qui le demande.
Les serveurs Web les plus courants sont Apache, IIS de Microsoft et bien sûr nginx.
Le serveur Web est capable de gérer à la fois le contenu statique et dynamique envoyé au client avec quelques légères différences. La partie serveur se charge en mémoire dans ce qu’on appelle un travailleur processus et il est responsable de fournir le contenu demandé. Apache et nginx gèrent tous deux le contenu statique et dynamique. Alors qu’Apache est capable de gérer les deux dans le même processus de travail, nginx ne le fait pas car il a besoin d’un processeur externe pour le faire.
Pourquoi Apache et nginx sont-ils si populaires ? La réponse simple est qu’ils sont Open Source et gratuits. Ensemble, ils représentent près de 50 % de tout le trafic mondial, ce qui n’est pas une mince affaire !
Qu’est-ce qu’Apache ?
Les Apache Le serveur HTTP a été créé par Robert McCool en 1995 et est toujours en cours de développement sous l’Apache Software Foundation. Ce serveur Web est le choix le plus populaire depuis 1996. Il est de conception très modulaire, contient des tonnes de documentation et il est si populaire qu’il constitue la base de tous les principaux panneaux de contrôle d’hébergement Web. Il est même inclus dans cPanel, le panneau de contrôle le plus utilisé au monde.
Bien sûr, c’est flexible, c’est l’excuse que la grande majorité des personnes qui l’utilisent trouveront lorsqu’on leur demandera et en général, c’est vrai. Il est également très extensible et comme il peut charger des modules dynamiquement (quelque chose sur lequel nginx travaille toujours), il peut être configuré facilement.
Apache est capable de gérer le contenu statique et dynamique tout seul dans le même travailleur, donc c’est parfait pour sa flexibilité mais (et il y a toujours un mais) il le fait au détriment de performance.
Apache est connu pour être quelque peu lent, mais rien n’a été près d’exposer cette vérité comme lorsque nginx est devenu populaire. La différence de performance entre eux est quelque chose qui ne peut pas être négligé. Rien que pour cette question, la plupart des grandes entreprises passent à nginx. Même si Apache est toujours populaire, les choses vont sûrement changer à l’avenir à mesure que la technologie rattrape son retard et que de plus en plus de logiciels qui ne fonctionnaient auparavant que sur Apache commencent à inclure nginx.
Et Nginx ?
Nginx vient de la mère Russie. En 2002, un programmeur nommé Igor Sysoev a commencé à travailler sur nginx car il était profondément préoccupé par le problème C10K. Le quoi? Pour faire simple, l’optimisation prises réseau gérer un grand nombre de clients en même temps, ce qui était le principal inconvénient d’Apache et un véritable défi pour le web moderne. La version initiale de nginx a été rendue publique en 2004 sur la base d’une architecture basée sur les événements.
Même Sysoev lui-même ne pouvait pas voir à quel point nginx aurait du succès. Les énormes avantages de la vitesse sous nginx et la faible utilisation des ressources sont devenus évidents au fil du temps. Nginx a une manière magnifique de fournir du contenu statique, mais ne gère pas contenu dynamique. Cela s’est également avéré être un avantage car le contenu dynamique n’était pas lié au même travailleur et pouvait donc fonctionner beaucoup plus rapidement.
Nginx excelle à fournir un contenu plus rapide à un volume de connexions beaucoup plus élevé qu’Apache et est actuellement le choix des services d’hébergement qui souhaitent offrir les meilleures performances possibles. Son architecture événementielle et sa nature asynchrone sont les principaux points de sa performance.
Initialement, nginx avait un inconvénient principal, c’est la documentation. Cela a eu un début difficile en raison du fait que le programmeur était russe et de la façon dont il a documenté ses fonctions. Mais au fur et à mesure que le temps a passé et que de plus en plus de personnes utilisent nginx, la documentation s’est considérablement améliorée.
L’autre inconvénient de nginx réside dans son manque de conception modulaire, ce qui signifie qu’il ne peut pas traiter les règles en temps réel comme Apache le fait avec son fichier .htaccess et ne peut pas non plus charger les modules en temps réel. C’est quelque chose sur lequel nginx travaille déjà mais aura encore besoin de temps pour correspondre à la flexibilité d’Apache.
Les inconvénients sont néanmoins rapidement éclipsés par les superbes performances. Cela en soi a permis à nginx de devenir le choix populaire pour l’hébergement axé sur les performances et c’est la base d’un service aussi largement utilisé que Fumer, prouvant à maintes reprises qu’il peut toujours obtenir un score supérieur à Apache à tous égards.
Pourquoi Nginx est-il le choix préféré pour l’hébergement WordPress ?
Il y a plusieurs points sur lesquels nginx est bien meilleur qu’Apache pour héberger des sites WordPress. Je vais essayer de résumer cela dans la liste suivante.
Facile à installer
Nginx est un package complet, il nécessite très peu de modules externes pour fonctionner et la grande majorité du temps, il ne faut qu’une ligne sous Linux pour l’activer.
apt-get install nginx
yum install nginx
C’est tout ce qu’il faut pour que nginx soit actif en tant que service. Le reste est dans la configuration.
Peut fonctionner comme proxy pour Apache ou tout autre serveur Web
Nginx peut fournir une augmentation instantanée des performances à n’importe quelle configuration de serveur Web Apache en s’exécutant en tant que proxy sans affecter les fonctionnalités du serveur de quelque manière que ce soit.
Peut fonctionner directement avec un microcache ou même un cache fastcgi
Nginx est génial grâce à son microcache intégré et peut même fonctionner avec un cache fastcgi pour accélérer les performances d’un facteur 10. Nginx peut également fournir une augmentation considérable des performances lorsque vous travaillez avec un cache fastcgi et n’aura même pas besoin d’un externe mécanisme de mise en cache tel que memcache.
C’est incroyablement rapide pour servir du contenu
Nginx s’éclaire rapidement lorsqu’il s’agit de contenu statique et il est très facile à configurer à ces fins. Une seule ligne de code peut permettre d’accéder aux fichiers les plus courants tels que le contenu statique et d’améliorer ses performances. De plus, si vous savez comment configurer HttpProxyModule, vous pouvez même atteindre le même niveau de performances pour le contenu dynamique sans affecter les fonctionnalités du serveur Web.
Près de 4 fois plus de connexions simultanées qu’Apache
Si vous envisagez d’héberger un site Web très demandé avec des milliers de visites par jour, il serait bon que vous sachiez que nginx peut traiter jusqu’à quatre fois plus de connexions simultanées qu’Apache, ce qui signifie 2 choses :
- Votre site Web sera globalement plus rapide
- Vous aurez besoin de moins de ressources qu’Apache pour le faire.
Cela est dû à la nature événementielle de nginx et il est responsable du prochain avantage.
Très léger
Nginx est si bien conçu qu’il est incroyablement léger sur les ressources. Cela signifie qu’il utilisera moins de temps CPU pour traiter chaque demande de connexion et le fera en utilisant beaucoup moins de mémoire. Cela vous permettra d’héberger des sites plus importants en utilisant le même serveur qui n’était pas en mesure de le faire auparavant dans Apache.
Le secret de son succès réside dans le moteur lui-même. Nginx fonctionne comme un serveur Web déclenché par un événement, ce qui signifie qu’il écoutera les « événements » sur le travailleur et ne répondra qu’en cas de besoin. Les sur demande L’argument à l’intérieur de nginx permet au service de générer et de supprimer des écouteurs à la demande. Cela permet de réduire l’utilisation de la mémoire et d’augmenter l’efficacité. Apache a essayé d’inclure un mode événement dans le travailleur mpm-event, mais il a lamentablement échoué à faire correspondre la vitesse de nginx car Apache n’a pas été construit comme un serveur Web axé sur les événements.
Il peut faire l’équilibrage de charge
Nginx peut être configuré pour l’équilibrage de charge, augmentant ainsi encore plus son taux de connexions simultanées en répartissant la charge entre plusieurs serveurs, ce qui le rend idéal pour les projets qui ont une charge très élevée de connexions simultanées.
Qu’est-ce-que tout cela veut dire?
Cela signifie que nginx est idéal pour WordPress dans presque tous les sens. Cela signifie que vous profiterez des avantages de son utilisation presque immédiatement après sa mise en œuvre. Si vous êtes administrateur système, l’installation de nginx est une évidence. Si au contraire vous souhaitez concevoir un projet ou héberger votre site web et que vous souhaitez l’héberger ailleurs, il y a de fortes chances que si votre hébergement utilise nginx, il fonctionnera plus rapidement.
Les sociétés d’hébergement de haute qualité telles que WP Engine et Flywheel fonctionnent déjà sur nginx. Mais si vous optez pour une autre société d’hébergement, faites vos recherches ou demandez à un technicien d’assistance si la pile du serveur Web inclut nginx. Je peux vous garantir que si le service est de qualité, il aura nginx inclus dans une partie de la pile.