HAProxy est une solution gratuite, open source et fiable pour la haute disponibilité et l'équilibrage de charge. Il répartit la charge sur 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 en raison de son efficacité, de sa fiabilité et de sa faible empreinte mémoire et CPU.
Dans cet article, nous expliquerons comment installer HAProxy sur un système Debian 11.
Prérequis
- Un serveur exécutant Debian 11 pour HAProxy.
- Deux serveurs exécutant Debian 11 pour le serveur Apache Backend.
- Un mot de passe root est configuré sur tous les serveurs.
Configurer les serveurs Web principaux
Pour les besoins de ce didacticiel, vous devrez configurer deux serveurs Apache principaux.
Sur le premier serveur backend, installez le package Apache avec la commande suivante :
apt-get install apache2 -y
Une fois Apache installé, créez 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, installez le package Apache avec la commande suivante :
apt-get install apache2 -y
Créez ensuite 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Installer HAProxy
Par défaut, HAProxy est inclus dans le référentiel par défaut de Debian 11. Vous pouvez l'installer en exécutant la commande suivante :
apt-get install haproxy -y
Une fois HAProxy installé, démarrez le service HAProxy et activez-le pour qu'il démarre au redémarrage du système :
systemctl start haproxy
systemctl enable haproxy
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer HAProxy
Ensuite, vous devrez modifier le fichier de configuration par défaut de HAProxy et définir les serveurs Web principaux.
nano /etc/haproxy/haproxy.cfg
Ajoutez 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
Enregistrez et fermez le fichier lorsque vous avez terminé.
Où :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 principal Apache.
Ensuite, redémarrez le service HAProxy pour appliquer les modifications :
systemctl restart haproxy
Vous pouvez maintenant vérifier l'état du HAProxy avec la commande suivante :
systemctl status haproxy
Vous obtiendrez le résultat suivant :
? 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 en cours d'exécution. Il est maintenant temps de tester HAProxy.
Ouvrez votre navigateur Web et saisissez l'URL http://votre-haproxy-ip . Vous verrez que HAProxy envoie les requêtes aux serveurs principaux une par une après chaque actualisation.
Conclusion
Toutes nos félicitations! vous avez installé avec succès HAProxy sur Debian 11. Vous pouvez maintenant implémenter HAProxy dans l'environnement de production pour augmenter les performances et la disponibilité de votre application Web.