Pourquoi devriez-vous vous concentrer sur l'amélioration des performances de Drupal avec Nginx

Publié: 2018-01-14

Nous savons tous que Drupal est l'endroit où la flexibilité rencontre la simplicité. Un CMS conçu pour être la solution parfaite pour les utilisateurs non techniques, Drupal est un système unifié qui s'efforce d'avoir les atouts d'un système de gestion de contenu et d'un cadre de gestion de contenu. Ainsi, quel que soit ce qu'un constructeur de site cherche à créer (d'un site d'actualités ou d'une boutique en ligne à un réseau social ou un site Web gouvernemental très complexe), il s'agit simplement de combiner les bons modules pour un développement Drupal parfait. Nginx est connu pour être ce serveur Web super puissant qui peut être utilisé pour mettre en cache, équilibrer la charge, proxy inverse et bien plus encore pour améliorer les performances d'un site Web. La combinaison Drupal Nginx permet d'optimiser les performances. Voyons pourquoi vous devriez choisir Nginx pour votre prochain projet Drupal.

Drupal s'est constamment mis à jour et sa dernière version est la preuve que ce CMS open source a rapidement évolué pour devenir l'un des frameworks les plus recherchés (près d'un million de sites Web utilisent Drupal 7 selon un rapport de Drupal.org). version de Drupal-Drupal 8 a eu ses utilisateurs au bord de leurs sièges avec certaines des fonctionnalités les plus intéressantes.

Certaines de ces fonctionnalités de Drupal 8 sont :

  • Service Web prêt à l'emploi : Fini le temps où les sites Web étaient uniquement destinés aux ordinateurs de bureau et les services Web n'étaient utilisés que pour les sites Web utilisant un service d'autres systèmes. Avec une variété d'appareils dans l'image, les services Web dans le monde actuel sont plus importants que jamais. Alors que les services Web sont pris en charge par un module tiers dans Drupal 7, il a été inclus dans Drupal 8 core.
  • Améliorations de la sécurité : la sécurité a toujours été une préoccupation, et avec l'ajout de nouvelles fonctionnalités, Drupal 8 a permis de rendre les systèmes plus sécurisés.
  • Plus simple et plus rapide : avec Drupal 8, l'API Drupal est complètement RESTful, ce qui permet au développeur d'utiliser plus facilement Angular.js, Ember.js et de nombreux autres outils d'affichage sans trop de tracas.
  • Améliorations mobiles : Comme nous l'avons mentionné plus tôt, les appareils mobiles sont la force motrice dans le monde d'aujourd'hui. Drupal 8 fournit une prise en charge complète des modèles de sites mobiles accompagnés d'une administration back-end facile à partir d'un appareil mobile.

Comme la plupart de ces fonctionnalités prennent en charge certains des sites les plus grands et complexes qui génèrent beaucoup de trafic et sont vulnérables aux problèmes de performances, il devient important de gérer ces problèmes dès que possible car la force motrice de la croissance du trafic ne se limite pas aux clients. et serveurs mais aussi entre les serveurs back-end. La mise en œuvre de Nginx avec votre site Web Drupal 8 peut résoudre tous vos problèmes liés au serveur et améliorer les performances du site.

Architecture de site avec Drupal Nginx

Un large éventail de sites Web Drupal utilisent initialement le serveur HTTP Apache comme serveur Web et le fait que les instructions pour le configurer soient largement disponibles en fait le premier choix parmi de nombreux propriétaires de sites Web. Mais à mesure que le site Web se développe et commence à générer plus de trafic, c'est à ce moment-là que les gens passent au serveur NGINX. À ce stade, avec des difficultés à prendre en charge plus de 10 000 connexions à la fois à l'ensemble du serveur qui se bloquent ou tombent en panne, Drupal et Apache partagent des problèmes difficiles à surmonter.

Avec la vulnérabilité du site en jeu, Drupal 8 NGINX est le choix préféré des organisations pour stabiliser l'architecture du site. Au lieu de changer de serveur et de causer des problèmes, plusieurs mesures peuvent être prises pour résoudre ces problèmes liés aux performances à mesure que le site se développe.

  • NGINX en tant que premier choix pour le serveur Web de votre site Drupal améliore les performances et réduit considérablement l'utilisation de la mémoire.
  • NGINX est l'un des serveurs proxy inverses les plus populaires pour un certain nombre de sites Drupal, car il peut gérer le trafic Internet et réduire la charge de votre serveur d'applications.

Serveur Web

Une solution rapide qui peut prendre en charge les performances, la sécurité et la flexibilité de votre site Web Drupal consiste à passer d'Apache à NGINX en tant que serveur Web de votre site. Un problème courant qui hante la plupart des serveurs Web est le problème C10K - la difficulté qu'ont les serveurs Web à prendre en charge les connexions simultanées (généralement pas plus de 10 000 connexions à la fois). NGINX a été conçu pour résoudre ce problème particulier. Avec la possibilité d'exécuter une boucle d'événements en cours qui gère les demandes au fur et à mesure qu'elles se produisent, sans allouer de ressources aux demandeurs, Drupal NGINX élimine la surcharge occasionnée par le processus de création d'un nouveau processus pour chaque nouvelle connexion.

Serveur proxy inversé avec Drupal 8 Nginx

Un serveur proxy inverse n'est pas comme vos serveurs habituels. Ce serveur reçoit les requêtes des navigateurs et au lieu de les traiter immédiatement, examine chaque requête et décide de l'action à entreprendre : soit exécuter la requête par lui-même, soit l'envoyer à un autre serveur pour exécution.

Le déploiement d'un tel serveur est la première étape pour créer une architecture de site qui permet la flexibilité, la redondance, une sécurité améliorée et un panier plein d'autres bonnes choses. L'une des principales raisons pour lesquelles un serveur proxy inverse est susceptible d'améliorer les performances d'un site Web est que la communication entre les serveurs Web est plus rapide que la communication sur Internet. Et cette communication avec d'autres serveurs Web dans le service proxy inverse est essentiellement gratuite.

Ainsi, en ajoutant un serveur proxy inverse, votre site Drupal n'a plus à gérer directement l'intégralité du trafic Internet. Ce serveur prend immédiatement en charge un site qui s'effondre sous la pression d'un trafic énorme, de problèmes de sécurité et de problèmes de performances. Avec l'introduction de nouvelles flexibilités dans l'architecture du site, un serveur proxy inverse permet de nouvelles capacités et fonctions qui peuvent s'exécuter efficacement sans impacter le serveur d'applications.

Plusieurs serveurs d'applications et équilibrage de charge

Il est hautement impossible d'obtenir de meilleures performances avec un seul serveur d'applications. Mais les serveurs plus gros et plus rapides sont potentiellement coûteux et comme un seul appareil a toujours des performances inhérentes, vous devez mettre à niveau ou remplacer l'appareil actuel (une opération très perturbatrice) pour plus de performances. C'est là qu'un serveur proxy inverse entre en jeu. Ce serveur permet l'utilisation de plusieurs serveurs d'applications, ce qui garantit de meilleures performances Drupal en ajoutant simplement des serveurs supplémentaires au système. Ce processus d'ajout et de suppression des serveurs peut être facilité avec les bons outils logiciels tels que NGINX Plus, ce qui réduit considérablement les temps d'arrêt.

La présence de plusieurs serveurs d'applications signifie qu'il doit y avoir une technique pour décider quel serveur recevra la prochaine requête. Les techniques vont d'une approche simple à une approche complexe dans laquelle chaque serveur est examiné par le système pour savoir lequel est le moins occupé avant d'envoyer une requête. C'est ce qu'on appelle l'équilibrage de charge. Le serveur NGINX et le NGINX Plus prennent en charge cinq techniques d'équilibrage de charge qui aident à améliorer les performances de Drupal.

Consultez ce fichier de configuration officiel Drupal 8 Nginx recommandé par Nginx pour commencer à l'implémenter sur votre site Web Drupal 8.