Ubuntu

Comment installer et configurer HAproxy sur Ubuntu 20.04 LTS

Comment installer et configurer HAproxy sur Ubuntu 20.04 LTS
HAproxy est un package open source et léger qui offre une haute disponibilité et un équilibrage de charge pour les programmes basés sur TCP et HTTP. Il répartit la charge entre les serveurs Web et d'application. HAproxy est disponible pour presque toutes les distributions Linux. Il s'agit d'un équilibreur de charge largement utilisé qui est populaire pour son efficacité, sa fiabilité et sa faible empreinte mémoire et CPU. Dans cet article, nous expliquerons comment installer et configurer HAproxy sur un système Ubuntu.

Nous avons installé trois machines. Nous installerons HAproxy sur un serveur et les serveurs web Apache sur deux serveurs. Notre serveur HAproxy agira alors comme un équilibreur de charge et répartira la charge entre les serveurs web Apache.

Noter: La procédure et les commandes mentionnées dans cet article ont été testées sur Ubuntu 20.04 LTS (Fosse Focale). La même procédure est également valable pour les distributions Debian et Mint.

Détails du réseau

Nous utiliserons trois serveurs Ubuntu ; tous sur le même réseau. Les détails de nos serveurs sont les suivants :

Nom d'hôte : HAproxy, adresse IP : 192.168.72.157 (serveur frontal)
Nom d'hôte : web-server1, adresse IP : 192.168.72.158 (serveurs principaux)
Nom d'hôte : web-server2, adresse IP : 192.168.72.159 (serveurs principaux)

Noter: Vous devez avoir les privilèges sudo sur tous les serveurs.

Nous allons configurer une machine en tant qu'équilibreur de charge et les deux autres en tant que serveurs Web. Le serveur HAproxy sera notre serveur frontal qui recevra les demandes des utilisateurs et les transmettra aux deux serveurs Web. Les serveurs Web seront nos serveurs principaux qui recevront ces demandes transférées.

Voici à quoi ressemble notre configuration :

Configuration des serveurs Web-Serveurs principaux

Dans cette section, nous allons configurer deux serveurs Web (serveur-web1 et serveur-web2) comme nos serveurs principaux.

Sur le serveur Web1 (192.168.72.158)

Effectuez les étapes ci-dessous sur votre serveur Web. Assurez-vous de remplacer les noms d'hôte et les adresses IP par les adresses IP et les noms d'hôte pertinents de vos serveurs Web.

1. Configurer le fichier hosts

Au serveur-web1, modifier le /etc/hôtes déposer:

$ sudo nano /etc/hosts

Ajoutez ensuite l'entrée du nom d'hôte pour HAproxy serveur comme suit :

hostname-of-HAproxy IP-address-of-HAproxy

Dans notre scénario, ce serait :

HAproxy 192.168.72.157

2. Configurer le serveur Web Apache

Installez maintenant le serveur Web Apache à l'aide de la commande ci-dessous dans Terminal. Vous pouvez également visiter notre article sur Comment installer le serveur Web Apache sur Linux.

$ sudo apt installer apache2

Ensuite, activez et démarrez le service Apache à l'aide des commandes ci-dessous dans Terminal :

$ sudo systemctl activer apache2
$ sudo systemctl démarrer apache2

Créer un fichier d'index pour serveur-web1 en utilisant la commande ci-dessous dans Terminal :

$ echo "

Bonjour! Il s'agit du serveur Web1 : 192.168.72.158

" | sudo tee /var/www/html/index.html

Si un pare-feu s'exécute sur votre système, vous devrez autoriser le trafic Apache à le traverser :

$ sudo ufw autoriser 80/tcp

Rechargez ensuite les configurations de pare-feu :

$ ufw recharger

Essayez maintenant d'accéder au site dans votre navigateur Web en tapant http:// suivi de l'adresse IP ou du nom d'hôte de votre serveur Web.

http:// hostname-ou-IP-address

Alternativement, vous pouvez également utiliser la commande curl pour tester la page Web.

$ boucle

Sur le serveur Web-2 192.168.72.159)

Effectuez les étapes ci-dessous dans votre deuxième serveur Web. Assurez-vous de remplacer les noms d'hôte et les adresses IP par les adresses IP et les noms d'hôte pertinents de vos serveurs Web.

1. Configurer le fichier hosts

Dans serveur-web2, modifier le /etc/hôtes déposer:

$ sudo nano /etc/hosts

Ajoutez ensuite l'entrée du nom d'hôte pour HAproxy serveur comme suit :

HAproxy 192.168.72.157

2. Installer le serveur Web Apache

Installez maintenant le serveur Web Apache à l'aide de la commande ci-dessous dans Terminal.

$ sudo apt installer apache2

Ensuite, activez et démarrez le service Apache à l'aide des commandes ci-dessous dans Terminal :

$ sudo systemctl activer apache2
$ sudo systemctl démarrer apache2

Créez un fichier d'index pour web-server2 à l'aide de la commande ci-dessous dans Terminal :

$ echo "

Bonjour! Il s'agit du serveur Web2 : 192.168.72.159

" | sudo tee /var/www/html/index.html

Autoriser Apache dans le pare-feu :

$ sudo ufw autoriser 80/tcp

puis rechargez les configurations de pare-feu :

$ ufw recharger

Essayez maintenant d'accéder au site dans votre navigateur Web en tapant http:// suivi de l'adresse IP ou du nom d'hôte.

http:// hostname-ou-IP-address

Alternativement, vous pouvez utiliser la commande curl pour tester la page Web.

$ boucle

Maintenant, nos serveurs Web Apache sont prêts.

Configuration de l'équilibreur de charge HAproxy-serveur frontal

Dans cette section, nous allons configurer un équilibreur de charge HAproxy pour notre serveurs Web. Ce serveur HAproxy agira comme un serveur frontal et accepte les demandes entrantes des clients.

Sur le HAproxy serveur (192.168.72.157), effectuez les étapes ci-dessous pour configurer l'équilibreur de charge.

1. Configurer le fichier hosts

Modifier le /etc/hôtes fichier à l'aide de la commande ci-dessous dans Terminal :

$ sudo nano /etc/hosts

Ajoutez les entrées de nom d'hôte suivantes pour les deux Apache serveurs Web avec son propre nom d'hôte:

192.168.72.157 HAproxy
192.168.72.158 web-serveur1
192.168.72.159 web-serveur2

Maintenant, enregistrez et fermez le /etc/hôtes déposer.

Installation de l'équilibreur de charge HAproxy

Maintenant, dans cette étape, nous allons installer le HAproxy sur l'un de nos serveurs Ubuntu (192.168.72.157). Pour ce faire, mettez à jour apt à l'aide de la commande suivante dans Terminal :

$ sudo apt-get mise à jour

Mettez ensuite à jour les packages à l'aide de la commande ci-dessous :

$ sudo apt-get upgrade

Installez maintenant HAproxy à l'aide de la commande suivante dans Terminal :

$ sudo sudo apt installer haproxy

Une fois l'installation du serveur HAproxy terminée, vous pouvez la confirmer à l'aide de la commande ci-dessous dans Terminal :

$ haproxy -v

Il vous montrera la version installée de HAproxy sur votre système qui vérifie que le HAproxy a été installé avec succès.

Configurer HAproxy en tant qu'équilibreur de charge

Dans la section suivante, nous allons configurer HAproxy en tant qu'équilibreur de charge. Faire cela, éditer le /etc/haproxy/haproxy.cfg déposer:

$ sudo nano /etc/haproxy/haproxy.cfg

Ajoutez les lignes suivantes dans le haproxy.cfg en remplaçant les adresses IP par vos propres adresses IP.

le front-end web-front-end dans les lignes de configuration ci-dessus indique à HAproxy d'écouter les requêtes entrantes sur le port 80 de 192.168.72.157 puis transférez-les aux serveurs principaux configurés sous le back-end backend web. Lors de la configuration, remplacez les adresses IP par les adresses IP pertinentes de vos serveurs Web.

Configuration de la surveillance HAproxy

Avec la surveillance HAproxy, vous pouvez afficher de nombreuses informations, notamment l'état du serveur, les données transférées, la disponibilité, le taux de session, etc. Pour configurer la surveillance HAproxy, ajoutez les lignes suivantes dans le fichier de configuration situé à /etc/haproxy/haproxy.cfg:

écouter les statistiques
lier 192.168.72.157:8080
mode http
option avant pour
option httpfermer
les statistiques activent
stats show-légendes
actualisation des statistiques 5s
stats uri /stats
stats royaume Haproxy\ Statistiques
stats auth kbuzdar:kbuzdar            # Utilisateur de connexion et mot de passe pour la surveillance
stats admin si VRAI
default_backend web-backend

La configuration ci-dessus permet au HAproxy "Statistiques†page utilisant le Statistiques directive et la sécurise avec http authentification de base à l'aide du nom d'utilisateur et du mot de passe définis par le authentification des statistiques directif.

Une fois que vous avez terminé avec les configurations, enregistrez et fermez le happroxy.fichier cfg.

Vérifiez maintenant le fichier de configuration à l'aide de la commande ci-dessous dans Terminal :

$ haproxy -c -f /etc/haproxy/haproxy.cfg

La sortie suivante montre que les configurations sont correctes.

Maintenant, pour appliquer les configurations, redémarrez le service HAproxy :

$ sudo systemctl redémarrer haproxy.un service

Il s'arrêtera puis démarrera le service HAproxy.

Pour vérifier l'état du service HAproxy, la commande serait :

$ sudo systemctl status haproxy.un service

le actif (en cours d'exécution) l'état dans la sortie suivante montre que le serveur HAproxy est activé et fonctionne correctement.

Voici quelques autres commandes pour gérer le serveur HAproxy :

Afin de démarrer le serveur HAproxy, la commande serait :

$ sudo systemctl démarrer haproxy.un service

Afin d'arrêter le serveur HAproxy, la commande serait :

$ sudo systemctl stop haproxy.un service

Si vous souhaitez désactiver temporairement le serveur HAproxy, la commande serait :

$ sudo systemctl désactiver haproxy.un service

Pour réactiver le serveur HAproxy, la commande serait :

$ sudo systemctl activer haproxy.un service

Tester HAproxy

Avant de tester la configuration de HAproxy, assurez-vous d'avoir une connectivité aux serveurs Web. À partir de votre serveur HAproxy, effectuez un ping sur les deux serveurs Web, soit par leurs adresses IP, soit par leurs noms d'hôte.

$ ping hostname-or-ip-address

La sortie suivante montre que le serveur HAproxy peut atteindre les deux serveurs Web.

Tester le proxy HA à l'aide d'un navigateur Web

Maintenant, dans votre serveur HAproxy, ouvrez n'importe quel navigateur Web et tapez http:// suivi de l'adresse IP du serveur HAproxy qui dans notre cas est 192.168.72.157.

http://192.168.72.157

Le serveur HAproxy enverra alternativement la demande aux deux serveurs Web dans une méthode de répétition alternée. Vous pouvez tester cela en rechargeant la page Web plusieurs fois.

C'est la réponse que nous avons reçue lorsque nous avons visité le http://192.168.72.157 pour la première fois :

Voici la réponse que nous avons reçue lorsque nous avons rechargé la page Web :

Vous pouvez également utiliser le nom d'hôte à la place de l'adresse IP du serveur HAproxy.

Tester le proxy HA à l'aide de curl

Vous pouvez également utiliser la commande curl sous Linux pour tester la configuration de HAproxy. Ouvrez le Terminal et tapez boucle suivi de l'adresse IP ou du nom d'hôte du serveur HAproxy.

$ boucle 192.168.72.157

ou alors

$ curl HAproxy

Exécutez la commande curl plusieurs fois et vous verrez la réponse alterner entre les deux serveurs Web.

Au lieu d'exécuter les commandes plusieurs fois, vous pouvez également exécuter le script d'une ligne suivant pour tester le serveur HAproxy :

$ tant que vrai ; faire boucler 192.168.72.157 ; dormir 1 ; Fini

Tester la surveillance HAproxy

Pour accéder à la page de surveillance HAproxy, tapez http:// suivi de l'adresse IP/du nom d'hôte du serveur HAproxy et du port 8080/stats :

http://192.168.72.157:8080/statistiques

ou alors

http://HAproxy:8080/stats

La boîte d'authentification suivante apparaîtra. Entrer l'identifiant et le mot de passe vous avez configuré plus tôt dans les configurations puis appuyez sur d'accord.

Ceci est le rapport statistique de notre serveur HAproxy.

Là, vous avez l'installation et la configuration de l'équilibreur de charge HAproxy sur le système Linux. Nous venons de discuter de l'installation et de la configuration de base de HAproxy en tant qu'équilibreur de charge pour les serveurs Web Apache. Nous avons également examiné quelques commandes pour gérer le serveur HAproxy. Au final, nous avons testé l'équilibrage de charge via le navigateur et la commande curl. Pour plus d'informations, visitez la documentation officielle de HAproxy

Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...
Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...