Pratique de configuration de l'équilibrage de charge Nginx pour améliorer la disponibilité du site Web
Résumé : Nginx est un serveur Web hautes performances et un serveur proxy inverse. Grâce à la configuration de l'équilibrage de charge, les requêtes peuvent être distribuées à plusieurs serveurs principaux, améliorant ainsi la disponibilité et les performances du site Web. Cet article explique comment configurer l'équilibrage de charge Nginx et utiliser un exemple de code.
L'équilibrage de charge est une technologie qui distribue les requêtes à plusieurs serveurs en répartissant uniformément la charge, elle peut améliorer la stabilité et les performances du système. L'équilibrage de charge peut améliorer la disponibilité du site Web. Lorsqu'un serveur principal tombe en panne, d'autres serveurs peuvent toujours fournir des services normalement.
Nginx peut configurer l'équilibrage de charge via le module en amont. Nous pouvons ajouter la configuration suivante au fichier de configuration Nginx (généralement /etc/nginx/nginx.conf) :
http { upstream myapp { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://myapp; } } }
Dans la configuration ci-dessus, nous définissons un bloc en amont nommé myapp, qui contient plusieurs adresses de serveurs backend. Dans le bloc serveur, nous transmettons la requête à myapp via la directive proxy_pass.
Nginx prend en charge plusieurs stratégies d'équilibrage de charge, telles que l'interrogation (stratégie par défaut), le hachage IP, le minimum de connexions, etc. Nous pouvons configurer la politique en ajoutant les directives pertinentes dans le bloc en amont. Voici quelques exemples de plusieurs stratégies d'équilibrage de charge couramment utilisées :
Stratégie d'interrogation :
upstream myapp { server backend1.example.com; server backend2.example.com; server backend3.example.com; }
Stratégie de hachage IP :
upstream myapp { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; }
Stratégie de moindre connexion :
upstream myapp { least_conn; server backend1.example.com; server backend2.example.com; server backend3.example.com; }
Afin de mieux comprendre la configuration de l'équilibrage de charge Nginx, un exemple pratique est donné ci-dessous. Supposons que nous ayons trois serveurs backend qui servent une application Web. Nous pouvons suivre les étapes suivantes pour le configurer :
Exemple de fichier de configuration Nginx (/etc/nginx/nginx.conf) :
http { upstream myapp { server backend1.example.com:8000; server backend2.example.com:8000; server backend3.example.com:8000; } server { listen 80; location / { proxy_pass http://myapp; } } }
Dans l'exemple ci-dessus, nous supposons que chaque serveur backend écoute sur le port 8000. En transmettant la demande à myapp, Nginx sélectionnera automatiquement un serveur backend pour gérer la demande.
Grâce à la configuration d'équilibrage de charge de Nginx, nous pouvons répartir uniformément les requêtes de sites Web sur plusieurs serveurs backend pour améliorer la disponibilité et les performances du site Web. Cet article présente la méthode de configuration de l'équilibrage de charge Nginx et fournit un exemple de code. J'espère que les lecteurs pourront apprendre de cet article comment implémenter la configuration de l'équilibrage de charge via Nginx et améliorer la disponibilité des sites Web dans des applications pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!