Comment configurer Nginx en tant qu'équilibreur de charge avec exemple

Comment configurer Nginx en tant qu'équilibreur de charge avec exemple

Nginx est un logiciel de serveur Web open source populaire qui peut également être utilisé comme équilibreur de chargement. L'équilibrage de charge est une technique qui distribue le trafic entrant sur plusieurs serveurs pour améliorer les performances, augmenter la disponibilité et éviter de surcharger un seul serveur. Dans cet article, nous discuterons de la façon de configurer Nginx en tant qu'équilibreur de charge avec un exemple.

Pour configurer Nginx en tant qu'équilibreur de charge, les étapes suivantes ont nécessité les étapes suivantes:

  1. Installez le serveur Web Nginx
  2. Configurez le amont et ajoutez tous les nœuds de serveurs backend
  3. Configuration de l'emplacement proxy_pass avec le amont
  4. Redémarrez le serveur Nginx pour appliquer les modifications
  5. Testez la configuration de l'équilibreur de charge Nginx

Suivons les étapes une par une pour terminer la configuration Nginx pour agir comme un équilibreur de chargement.

Étape 1: Installer Nginx

La première étape consiste à installer Nginx sur le serveur qui agira comme l'équilibreur de charge. Nginx peut être installé sur la plupart des distributions Linux à l'aide du gestionnaire de packages. Par exemple, sur Ubuntu, vous pouvez exécuter la commande suivante:

Mise à jour Sudo apt-get  sudo apt-get install nginx  

Sur les systèmes basés sur RHEL, vous pouvez utiliser la commande suivante pour installer nginx:

sudo yum install nginx  

Le système moderne basé sur RHEL utilise le gestionnaire de packages DNF.

Étape 2: Configurer les serveurs en amont

L'étape suivante consiste à définir les serveurs qui recevront du trafic de l'équilibreur de charge. Ces serveurs sont appelés serveurs en amont. Vous pouvez les définir dans le fichier de configuration Nginx / etc / nginx / nginx.confli. Ouvrez le fichier dans un éditeur de texte et ajoutez le code suivant:

http Upstream MyApp Server 192.168.dix.201; serveur 192.168.dix.202;
123456http Upstream MyApp Server 192.168.dix.201; serveur 192.168.dix.202;

Dans cet exemple, nous avons défini un groupe en amont nommé "Myapp" qui comprend deux serveurs: 192.168.dix.201 et 192.168.dix.202. Ce sont les serveurs qui recevront du trafic de l'équilibreur de charge.

Étape 3: Configurer l'équilibreur de chargement

Maintenant que nous avons défini nos serveurs en amont, nous pouvons configurer l'équilibreur de chargement. Ajouter le code suivant au bloc HTTP dans nginx.confli:

http Upstream MyApp Server 192.168.dix.201; serveur 192.168.dix.202; Server écouter 80; emplacement / proxy_pass http: // myApp;
12345678910111213http Upstream MyApp Server 192.168.dix.201; serveur 192.168.dix.202; Server écouter 80; emplacement / proxy_pass http: // myApp;

Dans ce code, nous avons défini un bloc de serveur qui écoute le port 80 (le port HTTP par défaut). L'emplacement / bloc spécifie le chemin URL qui doit être acheminé vers les serveurs en amont. Le proxy_pass La directive indique à Nginx de transmettre les demandes entrantes au "Myapp" groupe en amont que nous avons défini plus tôt.

Étape 4: Redémarrez Nginx

Enfin, redémarrez Nginx pour appliquer les modifications au fichier de configuration. Exécutez la commande suivante:

service sudo nginx redémarrer  

Étape 5: Tester l'équilibreur de charge

Pour tester l'équilibreur de charge, nous pouvons utiliser un navigateur Web ou un outil comme Curl pour envoyer des demandes HTTP au serveur. Lorsque nous accéderons à l'URL configurée dans l'emplacement / bloc, Nginx transmettra la demande à l'un des serveurs en amont dans le "Myapp" groupe.

Si tout fonctionne correctement, vous devriez voir la réponse de l'un des serveurs en amont. Vous pouvez confirmer que la charge est équilibrée sur les deux serveurs en rafraîchissant la page plusieurs fois et en vérifiant l'adresse IP du serveur qui répond à chaque demande.

Conclusion

La configuration de Nginx en tant qu'équilibreur de charge est un processus simple qui peut aider à améliorer les performances et la disponibilité des applications Web. En définissant des serveurs en amont et en configurant l'équilibreur de charge, vous pouvez distribuer du trafic entrant sur plusieurs serveurs et éviter de surcharger n'importe quel serveur unique.