Installez Haproxy pour configurer le serveur d'équilibrage de chargement sur Debian Top 10

Installez Haproxy pour configurer le serveur d'équilibrage de chargement sur Debian Top 10

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:

  1. Accès «sudo» à toutes les machines et connaissances de base des commandes en cours d'exécution dans le terminal Linux.
  2. Adresses IP privées ajoutées aux serveurs de chargement et de backend.
  3. Système d'exploitation Debian 10 installé sur toutes les machines.

Installation de Haproxy sur Debian 10

Pour notre guide, nous supposerons la configuration d'adresse IP suivante:

  1. Haproxy Load-Balancer 10.0.12.dix
  2. Serveur Web1: Adresse IP: 10.0.12.15
  3. Serveur Web2: adresse IP: 10.0.12.16

É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:

  • Intégration de différents serveurs Web à côté de Nginx.
  • Changer l'algorithme d'équilibrage de chargement en quelque chose d'autre que la ronde.
  • Configuration de la vérification de la santé Haproxy pour déterminer si un serveur back-end fonctionne ou non.
  • Appliquer des sessions collantes pour connecter un utilisateur au même serveur back-end.
  • Utilisation de statistiques Haproxy pour obtenir des informations sur le trafic sur les serveurs.

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.