Comment installer et configurer Haproxy sur Ubuntu Top 10.Top 10 LTS

Comment installer et configurer Haproxy sur Ubuntu Top 10.Top 10 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 distribue 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 mémoire basse et son empreinte CPU. Dans cet article, nous expliquerons comment installer et configurer Haproxy sur un système Ubuntu.

Nous avons configuré trois machines. Nous installerons Haproxy sur un serveur et les serveurs Web Apache sur deux serveurs. Notre serveur Haproxy agira ensuite comme un équilibreur de charge et distribuera la charge entre les serveurs Web Apache.

Note: La procédure et les commandes mentionnées dans ce post ont été testées sur Ubuntu 20.04 LTS (Focal Fossa). La même procédure est également valable pour les distributions Debian et Mint.

Détails du réseau

Nous utiliserons trois serveurs Ubuntu; Tout 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 (Frontend Server)
Nom d'hôte: Web-Server1, adresse IP: 192.168.72.158 (serveurs backend)
Nom d'hôte: Web-Server2, adresse IP: 192.168.72.159 (serveurs backend)

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

Nous configurerons une machine en tant qu'équilibreur de charge et les deux autres comme serveurs Web. Le serveur Haproxy sera notre serveur frontal qui recevra les demandes des utilisateurs et les transmettra vers les deux serveurs Web. Les serveurs Web seront nos serveurs backend qui recevront ces demandes transmises.

C'est à quoi ressemble notre configuration:

Configuration des serveurs Web-Backend serveurs

Dans cette section, nous configurerons deux serveurs Web (Web-Server1 et web-server2) Comme nos serveurs backend.

Sur Web-Server1 (192.168.72.158)

Effectuez les étapes ci-dessous de 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 des hôtes

Sur Web-Server1, modifier le / etc / hôtes déposer:

$ sudo nano / etc / hôtes

Puis ajoutez l'entrée du nom d'hôte pour Haproxy serveur comme suit:

nom d'hôte-haproxy ip-address-of-haproxy

Dans notre scénario, ce serait:

Haproxy 192.168.72.157

Configurer Apache Webserver

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

$ sudo apt install apache2

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

$ sudo systemctl activer apache2
$ sudo systemctl start apache2

Créer un fichier d'index pour Web-Server1 Utilisation de la commande ci-dessous dans le terminal:

$ echo "

Bonjour! C'est le serveur Web1: 192.168.72.158

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

Si un pare-feu fonctionne sur votre système, vous devrez autoriser le trafic Apache à travers:

$ sudo ufw autoriser 80 / TCP

Recharger ensuite les configurations de pare-feu:

$ UFW Reload

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-or-ip-address

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

$ curl

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 des hôtes

Dans web-server2, modifier le / etc / hôtes déposer:

$ sudo nano / etc / hôtes

Puis ajoutez l'entrée du nom d'hôte pour Haproxy serveur comme suit:

Haproxy 192.168.72.157

2. Installer Apache Webserver

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

$ sudo apt install apache2

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

$ sudo systemctl activer apache2
$ sudo systemctl start apache2

Créez un fichier d'index pour Web-Server2 en utilisant la commande ci-dessous dans le terminal:

$ echo "

Bonjour! Ceci est Webserver2: 192.168.72.159

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

Autoriser Apache dans le pare-feu:

$ sudo ufw autoriser 80 / TCP

puis recharger les configurations de pare-feu:

$ UFW Reload

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-or-ip-address

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

$ curl

Maintenant, nos serveurs Web Apache sont prêts.

Configuration du serveur d'équilibreur de charge Haproxy Balancer

Dans cette section, nous installerons un équilibreur de charge Haproxy pour notre serveurs Web. Ce serveur Haproxy agira comme un serveur frontal et acceptera les demandes entrantes des clients.

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

Configurer le fichier des hôtes

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

$ sudo nano / etc / hôtes

Ajoutez les entrées de nom d'hôte suivant pour les deux Apache Serveurs Web ainsi que son propre nom d'hôte:

192.168.72.157 haproxy
192.168.72.158 Web-Server1
192.168.72.159 Web-Server2

Maintenant, économisez 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 notre serveur Ubuntu (192.168.72.157). Pour ce faire, mettez à jour APT en utilisant la commande suivante dans le terminal:

$ sudo apt-get updat

Puis mettez à jour les packages à l'aide de la commande ci-dessous:

$ sudo apt-get upgrade

Installez maintenant Haproxy en utilisant la commande suivante dans le terminal:

$ sudo sudo apt install haproxy

Une fois l'installation du serveur Haproxy terminé, vous pouvez le confirmer en utilisant la commande ci-dessous dans le 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.

Configuration de l'haproxy en tant qu'équilibreur de charge

Dans la section suivante, nous configurerons Haproxy en tant qu'équilibreur de charge. Faire cela, Modifier le / etc / haproxy / haproxy.CFG déposer:

$ sudo nano / etc / haproxy / haproxy.CFG

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

Le frontend web-frontend Dans les lignes de configuration ci-dessus, Haproxy indique à l'écoute des demandes entrantes sur le port 80 de 192.168.72.157 puis les transmettre aux serveurs backend configurés sous le backend backend. Lors de la configuration, remplacez les adresses IP par les adresses IP pertinentes de vos serveurs Web.

Configuration de la surveillance de l'haproxy

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

Écouter les statistiques
se lier 192.168.72.157: 8080
mode http
Option Forward pour
Option httpclose
Les statistiques activent
statistiques show-legends
statistiques rafraîchis 5s
statistiques uri / statistiques
statistiques du royaume haproxy \ statistiques
Statistiques AUTH KBUZDAR: KBUZDAR #Login User et mot de passe pour la surveillance
Admin des statistiques si vraie
default_backend Web-backend

La configuration ci-dessus permet le haproxy "Statistiques»Page en utilisant le Statistiques directive et le sécuriser avec http Authentification de base à l'aide du nom d'utilisateur et du mot de passe défini par le Auth des statistiques directif.

Une fois que vous avez terminé avec les configurations, enregistrez et fermez le haproxy.Fichier CFG.

Vérifiez maintenant le fichier de configuration à l'aide de la commande ci-dessous dans le 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.service

Il s'arrête puis commencera le service haproxy.

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

$ sudo systemctl status haproxy.service

Le actif (fonctionnement) L'état dans la sortie suivante montre que le serveur Haproxy est activé et fonctionne bien.

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

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

$ sudo systemctl start haproxy.service

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

$ sudo systemctl stop haproxy.service

Dans le cas où vous souhaitez désactiver temporairement le serveur Haproxy, la commande serait:

$ sudo systemctl Désactiver haproxy.service

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

$ sudo systemctl activer haproxy.service

Tester le haproxy

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

$ ping hostname-or-ip-address

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

Tester HA proxy à 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 à la ronde. Vous pouvez tester cela en rechargeant la page Web plusieurs fois.

Ceci est la réponse que nous avons reçue lors de notre visite au http: // 192.168.72.157 pour la première fois:

Ceci est 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 en utilisant Curl

Vous pouvez également utiliser la commande curl dans Linux pour tester la configuration Haproxy. Ouvrez le terminal et le type boucle suivi de l'adresse IP ou du nom d'hôte du serveur haproxy.

$ curl 192.168.72.157

ou

$ 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 en ligne suivant pour tester le serveur Haproxy:

$ tandis que c'est vrai; faire curl 192.168.72.157; dormir 1; fait

Tester la surveillance de l'haproxy

Pour accéder à la page de surveillance Haproxy, tapez http: // suivi de l'adresse IP / nom d'hôte de Haproxy Server et Port 8080 / Stats:

http: // 192.168.72.157: 8080 / statistiques

ou

http: // haproxy: 8080 / statistiques

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

Ceci est le rapport de statistiques pour 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 la configuration et de la configuration de base de Haproxy en tant qu'équilibreur de charge pour les serveurs Web Apache. Nous avons également examiné certaines commandes pour gérer le serveur Haproxy. En fin de compte, nous avons testé l'équilibrage de la charge à travers le navigateur et la commande Curl. Pour plus d'informations, visitez la documentation officielle de Haproxy