L'équilibrage de chargement est la pratique la plus courante pour distribuer le trafic Web entrant parmi plusieurs serveurs back-end. Cela rend l'application très disponible même si certains serveurs baissent pour une raison quelconque. L'équilibrage des charges augmente l'efficacité et la fiabilité d'une application Web. Haproxy Load-Balancer est utilisé dans le même but. C'est le balancer de charge le plus utilisé dans les industries. Selon le site officiel, Haproxy est utilisé par des sociétés de premier plan comme AWS, Fedora, Github et bien d'autres.
Haproxy ou le proxy à haute disponibilité fournit une solution de haute disponibilité et de proxy. Il est écrit en C et fonctionne sur le réseau et les couches d'application du modèle TCP / IP. La meilleure chose est qu'il a une édition communautaire gratuite, et c'est une application open source. Il fonctionne sur les systèmes d'exploitation Linux, FreeBSD et Solaris. L'Enterprise Edition est également là, mais elle a un prix.
Dans ce guide, nous verrons Comment installer haproxy et configurer le serveur d'équilibrage de charge sur Debian 10.
Conditions préalables:
Installation de Haproxy sur Debian 10
Pour notre guide, nous supposerons la configuration d'adresse IP suivante:
Étape 1. Mettre à jour le référentiel et les packages du système Debian
Tout d'abord, exécutez les commandes ci-dessous sur tous les systèmes pour mettre à jour les packages logiciels vers le dernier.
$ sudo apt mise à jour
$ sudo apt mise à niveau -y
Étape: 2 Installez Nginx sur les serveurs back-end
Préparez vos serveurs back-end en installant le serveur Web Nginx sur chaque. Vous pouvez également choisir d'installer d'autres serveurs Web comme Apache.
Pour installer nginx, exécutez les commandes suivantes sur chaque serveur back-end dans votre environnement:
$ sudo apt install nginx
Étape: 3 Une fois Nginx installé sur vos serveurs back-end, démarrez le service, comme indiqué ci-dessous:
$ sudo systemctl start nginx
CONSEIL: Nous pouvons également gérer le serveur Web Nginx à l'aide de la commande ci-dessous:
$ sudo / etc / init.D / nginx "Option"
Option: Démarrez l'arrêt de l'état de redémarrage du rechargement
Étape: 4 Créez des pages d'index personnalisées dans le dossier Web de chaque serveur Web Nginx. Cela nous aidera à distinguer quel serveur back-end purge les demandes entrantes.
Sur chaque serveur Web, effectuez les tâches suivantes:
Sauvegarde du fichier d'index d'origine à l'aide de la commande suivante:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.html.origine
Ajouter du texte personnalisé à l'index.fichier html. Nous ajoutons l'adresse IP de chaque serveur Web.
Pour le serveur Web 1:
$ sudo echo "Serveur Web 1: 10.0.12.15 "| sudo tee / usr / share / nginx / html / index.html
Pour le serveur Web 2:
$ sudo echo "Web Server 2: 10.0.12.16 "| sudo tee / usr / share / nginx / html / index.html
Vous pouvez également utiliser Vi Editor si vous vous sentez plus à l'aise avec cela. Ceci est illustré ci-dessous:
$ sudo vi / usr / share / nginx / html / index.html
Lorsque le fichier est ouvert, entrez le texte et enregistrez le fichier.
Ouvrez le fichier hôte virtuel par défaut dans le répertoire «/ etc / nginx / sites-disponible /».
$ sudo nano / etc / nginx / sites-disponible / par défaut
Maintenant, à l'intérieur du bloc serveur, modifiez la directive racine de «/ var / www / html» en «/ usr / share / nginx / html».
Pour vérifier la configuration Nginx, exécutez la commande suivante:
$ sudo nginx -t
Étape 5: Redémarrez maintenant le service à l'aide de la commande:
$ sudo systemctl redémarrer nginx
Vous pouvez vérifier l'état de Nginx en utilisant la commande suivante:
$ sudo systemctl status nginx
Étape: 6 Pour installer Haproxy sur Debian 10 (Buster), exécutez la commande suivante sur le balancer de chargement.
$ sudo apt install haproxy -y
Conseil: Une fois l'haproxy installé, vous pouvez gérer l'haproxy via un script init. Pour cela, définissez le paramètre «activé» sur 1 dans «/ etc / default / haproxy» comme indiqué ci-dessous:
$ sudo vi / etc / par défaut / haproxy
Activé = 1
Maintenant, l'option suivante peut être utilisée avec un script init:
$ Sudo Service Haproxy «Option."
Option: Démarrez l'arrêt de l'état de redémarrage du rechargement
Étape: 7 Configurez maintenant Haproxy Load-Balancer en modifiant le fichier de configuration par défaut Haproxy, I.e. «/ Etc / haproxy / haproxy.CFG ". Pour modifier ce fichier, exécutez la commande suivante
$ sudo vi / etc / haproxy / haproxy.CFG
Conseil: Veuillez sauvegarder le fichier d'origine afin que dans le cas où quelque chose ne va pas, nous serons tous en sécurité. Pour effectuer la sauvegarde, utilisez la commande suivante:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproxy / haproxy.CFG.origine
Allez maintenant à la fin du fichier et modifiez les informations suivantes:
frontend local_server
lier 10.0.12.10:80
mode http
Default_backend Webserver
serveur Web backend
mode http
Équilibrez Roundrobin
Option Forward pour
http-request set-header x-forwarded-port% [dst_port]
http-request add-header
Option Httpchk Head / Http / 1.1rnhost: localhost
serveur web1 10.0.12.15:80
serveur web2 10.0.12.16:80
Note: N'oubliez pas de modifier les adresses IP dans le fichier ci-dessus à celui que vous avez ajouté à vos serveurs Web.
Étape: 8 Vérifiez la syntaxe de configuration du fichier ci-dessus avec la commande suivante:
$ sudo haproxy -c -f / etc / haproxy / haproxy.CFG
Si tout va bien, il affichera une sortie comme: «Le fichier de configuration est valide."Si vous obtenez une erreur dans la sortie, revérifiez votre fichier de configuration et vérifiez-le à nouveau.
Étape: 9 Redémarrez maintenant le service Haproxy pour appliquer les modifications
$ sudo service haproxy redémarrer
Tester la configuration
Il est maintenant temps de voir si notre configuration fonctionne correctement. Entrez IP du système de chargeur de chargement sur un navigateur Web (dans notre cas, il est 10.0.12.10) et actualiser la page en continu pendant 2 à 4 fois pour voir si Haproxy Load-Balancer fonctionne correctement. Vous devriez voir différentes adresses IP ou quel que soit le texte que vous avez entré dans l'index.Fichier HTML lorsque vous continuez à actualiser la page plusieurs fois.
Une autre façon de vérifier est de retirer un serveur Web hors ligne et de vérifier si un autre serveur Web pose les demandes.
C'est tout pour le moment! Essayez d'expérimenter Haproxy pour en savoir plus sur comment cela fonctionne. Pour e.g., tu peux essayer:
Haproxy a une documentation approfondie disponible pour la Haproxy Community Edition et Haproxy Enterprise Version. Explorez cette documentation pour obtenir plus d'informations sur l'amélioration des performances et de la fiabilité de l'environnement de votre serveur.
Ce guide a été exécuté avec succès sur Debian 10 (Buster). Essayez d'installer Haproxy sur d'autres distros basés sur Debian comme Ubuntu, Linux Mint, etc. N'oubliez pas de partager ce guide avec les autres.