HAProxy

Installez HAProxy pour configurer le serveur d'équilibrage de charge sur Debian 10

Installez HAProxy pour configurer le serveur d'équilibrage de charge sur Debian 10

L'équilibrage de charge est la pratique la plus courante de distribution du trafic Web entrant entre plusieurs serveurs principaux. Cela rend l'application hautement disponible même si certains serveurs tombent en panne pour une raison quelconque.  L'équilibrage de charge augmente l'efficacité et la fiabilité d'une application Web. L'équilibreur de charge HAProxy est utilisé dans le même but. C'est l'équilibreur 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 High Availability Proxy fournit une solution de haute disponibilité et de proxy. Il est écrit en C et fonctionne sur les couches réseau et 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'édition entreprise 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 connaissance de base de l'exécution des commandes dans le terminal Linux.
  2. Adresses IP privées ajoutées aux serveurs d'équilibrage de charge et d'arrière-plan.
  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. Équilibreur de charge HAProxy 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 upgrade -y

Étape : 2 Installez Nginx sur les serveurs principaux

Préparez vos serveurs principaux en installant le serveur Web Nginx sur chacun. Vous pouvez également choisir d'installer d'autres serveurs Web comme Apache.

Pour installer Nginx, exécutez les commandes suivantes sur chaque serveur principal de votre environnement :

$ sudo apt installer nginx

Étape : 3 Une fois Nginx installé sur vos serveurs principaux, démarrez le service, comme indiqué ci-dessous :

$ sudo systemctl start nginx

ASTUCE: Nous pouvons également gérer le serveur Web nginx à l'aide de la commande ci-dessous :

$ sudo /etc/init.d/nginx « option »
option : démarrer recharger redémarrer état arrêter

É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 principal sert les demandes entrantes.

Sur chaque serveur Web, effectuez les tâches suivantes :

Sauvegardez le 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.orig

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 "Serveur Web 2: 10.0.12.16"  | sudo tee /usr/share/nginx/html/index.html

Vous pouvez également utiliser l'éditeur vi si vous vous sentez plus à l'aise avec cela. Ceci est montré 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 d'hôte virtuel par défaut dans le répertoire "/etc/nginx/sites-available/".

$ sudo nano /etc/nginx/sites-available/default

Maintenant, à l'intérieur du bloc serveur, changez la directive racine de "/var/www/html" en "/usr/share/nginx/html".

Pour vérifier la configuration de 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 à l'aide de la commande suivante :

$ sudo systemctl status nginx

Étape : 6 Pour installer HAProxy sur Debian 10 (Buster), exécutez la commande suivante sur l'équilibreur de charge.

$ sudo apt install haproxy -y

Conseil: Une fois HAProxy installé, vous pouvez gérer HAProxy via un script d'initialisation. Pour cela, définissez le paramètre « enabled » sur 1 dans « /etc/default/haproxy » comme indiqué ci-dessous :

$ sudo vi /etc/default/haproxy
ACTIVÉ=1

Maintenant, l'option suivante peut être utilisée avec un script d'initialisation :

$ sudo service haproxy "option."
option : démarrer recharger redémarrer état arrêter

Étape : 7 Configurez maintenant l'équilibreur de charge HAProxy en modifiant le fichier de configuration par défaut de haproxy, je.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 qu'en cas de problème, nous soyons tous en sécurité. Pour effectuer la sauvegarde, utilisez la commande suivante :

$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.orig

Allez maintenant à la fin du fichier et modifiez les informations suivantes :

serveur_local frontal
lier 10.0.12.10:80
mode http
serveur web default_backend
serveur web principal
mode http
équilibre
option avant pour
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https si ssl_fc
option httpchk HEAD / HTTP/1.1rnHôte :hôte local
serveur web1 10.0.12.15:80
serveur web2 10.0.12.16:80

Noter: N'oubliez pas de remplacer les adresses IP du fichier ci-dessus par celle que vous avez ajoutée à 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 se passe 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émarrage

Test de la configuration

Il est maintenant temps de voir si notre configuration fonctionne correctement. Entrez l'IP du système d'équilibrage de charge sur un navigateur Web (dans notre cas, il s'agit de 10.0.12.10) et actualisez la page en continu 2 à 4 fois pour voir si l'équilibreur de charge HAProxy fonctionne correctement. Vous devriez voir différentes adresses IP ou le texte que vous avez entré dans l'index.html lorsque vous continuez à actualiser la page plusieurs fois.

Une autre façon de vérifier consiste à mettre un serveur Web hors ligne et à vérifier si un autre serveur Web répond aux demandes.

C'est tout pour le moment! Essayez d'expérimenter avec HAProxy pour en savoir plus sur son fonctionnement. Pour e.g., tu peux essayer:

HAProxy dispose d'une documentation complète disponible pour l'édition communautaire HAProxy et la version entreprise HAProxy. Explorez cette documentation pour obtenir plus d'informations sur l'amélioration des performances et de la fiabilité de votre environnement de serveur.

Ce guide a été réalisé avec succès sur Debian 10 (Buster). Essayez d'installer HAProxy sur d'autres distributions basées sur Debian comme Ubuntu, Linux Mint, etc. N'oubliez pas de partager ce guide avec les autres.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...