Comment installer HAProxy sur Debian 11

HAProxy est une solution gratuite, open-source et fiable pour la haute disponibilité et l’équilibrage des charges. Elle répartit la charge entre les multiples serveurs d’applications et simplifie les tâches de traitement des demandes. Il peut être installé sur tous les principaux systèmes d’exploitation Linux. Il est populaire grâce à son efficacité, sa fiabilité et sa faible empreinte mémoire et CPU.

Dans ce billet, nous allons expliquer comment installer HAProxy sur un système Debian 11.

Conditions préalables

  • Un serveur exécutant Debian 11 pour HAProxy.
  • Deux serveurs fonctionnant sous Debian 11 pour le serveur dorsal Apache.
  • Un mot de passe root est configuré sur tous les serveurs.

Configurer les serveurs Web dorsaux

Pour les besoins de ce tutoriel, tu dois configurer deux serveurs dorsaux Apache.

Sur le premier serveur backend, installe le paquet Apache avec la commande suivante :

apt-get install apache2 -y

Une fois qu’Apache est installé, crée un exemple de page d’index Apache à l’aide de la commande suivante :

echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html

Sur le deuxième serveur backend, installe le paquetage Apache avec la commande suivante :

apt-get install apache2 -y

Ensuite, crée un exemple de page d’index Apache à l’aide de la commande suivante :

echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Installe HAProxy

Par défaut, HAProxy est inclus dans le référentiel par défaut de Debian 11. Tu peux l’installer en exécutant la commande suivante :

apt-get install haproxy -y

Une fois que HAProxy est installé, démarre le service HAProxy et active son démarrage au redémarrage du système :

systemctl start haproxy
systemctl enable haproxy

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer HAProxy

Ensuite, tu devras modifier le fichier de configuration par défaut de HAProxy et définir les serveurs Web dorsaux.

nano /etc/haproxy/haproxy.cfg

Ajoute les lignes suivantes :

frontend apache_front
        # Frontend listen port - 80
        bind *:80
        # Set the default backend
        default_backend    apache_backend_servers
        # Enable send X-Forwarded-For header
        option             forwardfor
  
# Define backend
backend apache_backend_servers                                                                                                                     
        # Use roundrobin to balance traffic
        balance            roundrobin
        # Define the backend servers
        server             backend01 192.168.1.10:80 check
        server             backend02 192.168.1.11:80 check

Sauvegarde et ferme le fichier lorsque tu as terminé.

: 192.168.1.10 est l’adresse IP du premier serveur backend Apache et 192.168.1.11 est l’adresse IP du deuxième serveur backend Apache.

Ensuite, redémarre le service HAProxy pour appliquer les modifications :

systemctl restart haproxy

Tu peux maintenant vérifier le statut de HAProxy avec la commande suivante :

systemctl status haproxy

Tu obtiendras la sortie suivante :

? haproxy.service - HAProxy Load Balancer
     Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
    Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
   Main PID: 86680 (haproxy)
      Tasks: 3 (limit: 4679)
     Memory: 34.2M
        CPU: 61ms
     CGroup: /system.slice/haproxy.service
             ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer...
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer.
Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.

Vérifier HAProxy

À ce stade, HAProxy est configuré et fonctionne. Maintenant, il est temps de tester le HAProxy.

Ouvre ton navigateur Web et tape l’URL http://your-haproxy-ip. Tu verras que HAProxy envoie des demandes aux serveurs backend une par une après chaque rafraîchissement.

Serveur 1

Serveur 2

Conclusion

Félicitations ! Tu as réussi à installer HAProxy sur Debian 11. Tu peux maintenant mettre en œuvre HAProxy dans l’environnement de production pour augmenter les performances et la disponibilité de tes applications Web.

Vous aimerez aussi...