GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer et configurer HAProxy sur Rocky Linux 8

Lorsque vous déployez une application sur Internet, la disponibilité, l'évolutivité et les performances de l'application sont très importantes pour une meilleure expérience utilisateur. Il existe de nombreuses technologies qui introduisent la redondance, telles que l'équilibrage de charge, le clustering et le proxy.

HAProxy est un équilibreur de charge gratuit, open source et fiable conçu pour les sites Web à fort trafic. Il équilibre la charge du trafic entrant en le répartissant sur plusieurs serveurs principaux.

Dans cet article, nous vous montrons comment installer HAProxy sur Rocky Linux 8.

Pour les besoins de ce didacticiel, nous utiliserons la configuration suivante :

Serveur                      Adresse IP

HA Proxy 172.16.10.10

Backend1 172.16.10.11

Backend2 172.16.10.12

Prérequis

  • Un serveur exécutant RockyLinux 8.
  • Un mot de passe root est configuré sur le serveur.

Installer HAProxy

Par défaut, le package HAProxy est disponible dans le dépôt par défaut de Rocky Linux 8. Vous pouvez l'installer avec la commande suivante :

dnf 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

Configurer HAProxy

Ensuite, vous devrez éditer le fichier /etc/haproxy/haproxy.cfg et modifier deux sections frontend et backend. Dans la section Frontend, vous devrez définir HAProxy IP son port, l'URI des statistiques et le nom du backend. Dans la section Backend, vous devrez définir l'algorithme d'équilibrage de charge, le nom du serveur backend, les adresses IP et le port.

nano /etc/haproxy/haproxy.cfg

Modifiez les sections suivantes :

frontend http_balancer
    bind 172.16.10.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

default_backend     Apache_webservers

backend apache_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  apache1  172.16.10.11:80  check
    server  apache2  172.16.10.12:80  check

Enregistrez et fermez le fichier lorsque vous avez terminé, puis vous devrez modifier le fichier /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Décommentez les lignes suivantes :

module(load="imudp")
input(type="imudp" port="514")

Enregistrez et fermez le fichier puis créez le fichier haproxy.conf pour rsyslog avec la commande suivante :

nano /etc/rsyslog.d/haproxy.conf

Ajoutez les lignes suivantes :

local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

Ensuite, démarrez le service rsyslog et activez-le au redémarrage du système :

systemctl start rsyslog
systemctl enable rsyslog

Enfin, redémarrez le service HAProxy pour appliquer les modifications :

systemctl restart haproxy

Vous pouvez également vérifier l'état du service HAProxy avec la commande suivante :

systemctl status haproxy

Vous devriez voir le résultat suivant :

? haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-03 03:10:37 EDT; 1min 16s ago
  Process: 44032 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 44036 (haproxy)
    Tasks: 2 (limit: 12524)
   Memory: 3.1M
   CGroup: /system.slice/haproxy.service
           ??44036 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           ??44111 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Aug 03 03:10:36 RockyLinux8 systemd[1]: Starting HAProxy Load Balancer...
Aug 03 03:10:37 RockyLinux8 systemd[1]: Started HAProxy Load Balancer.

Configurer le pare-feu

Ensuite, vous devrez configurer firewalld sur tous les serveurs et autoriser le port 80 à travers le pare-feu.

Vous pouvez exécuter la commande suivante pour autoriser le port 80 :

firewall-cmd --permanent --add-port=80/tcp

Ensuite, rechargez le service firewalld pour appliquer les modifications.

firewall-cmd --reload

Configurer les serveurs principaux

Ensuite, vous devrez installer le serveur Apache sur les deux serveurs principaux. Exécutez la commande suivante pour installer le serveur Apache.

dnf install httpd -y

Une fois le serveur Apache installé, démarrez le service Apache et activez-le au redémarrage du système :

systemctl start httpd
systemctl enable httpd

Ensuite, vous devrez modifier le fichier index.html par défaut sur les deux serveurs principaux.

Sur le premier backend, éditez le fichier index.html avec la commande suivante :

nano /usr/share/httpd/noindex/index.html

Supprimez toutes les lignes et ajoutez la ligne suivante :

Welcome to First Apache Web Server!

Enregistrez et fermez le fichier lorsque vous avez terminé.

Sur le second backend, éditez le fichier index.html avec la commande suivante :

nano /usr/share/httpd/noindex/index.html

Supprimez toutes les lignes et ajoutez la ligne suivante :

Welcome to Second Apache Web Server!

Enregistrez et fermez le fichier lorsque vous avez terminé.

Vérifier HAProxy

À ce stade, HAProxy est configuré pour transmettre toutes les demandes entrantes aux serveurs principaux en fonction de l'algorithme d'équilibrage de charge. Il est maintenant temps de vérifier si HAProxy fonctionne correctement ou non.

Ouvrez votre navigateur Web et saisissez l'IP HAProxy dans l'URL http://172.16.10.10 . Vous devriez voir votre première page de serveur Web apache :

Ensuite, actualisez à nouveau la même page, vous devriez voir votre deuxième page de serveur Web apache :

Cela confirme que HAProxy fonctionne comme prévu et qu'il distribue le trafic entre deux serveurs principaux.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès l'équilibreur de charge HAProxy sur Rocky Linux 8. Vous pouvez maintenant implémenter HAProxy dans l'environnement de production pour obtenir des performances et une évolutivité élevées.


Rocky Linux
  1. Comment installer et configurer docker dans Rocky Linux/Centos 8

  2. Comment installer et configurer Ansible sur Rocky Linux/CentOS 8

  3. Comment installer et configurer l'équilibreur de charge HAProxy sur Rocky Linux/Alma Linux 8

  4. Comment installer et configurer Memcached sur Rocky Linux/Alma Linux 8

  5. Comment installer et configurer Squid Proxy sur Rocky Linux/Alma Linux 8

Comment installer et utiliser Firewalld sur Rocky Linux 8

Comment installer et configurer HAproxy sur CentOS 6

Comment installer et configurer OpenCV sur Rocky Linux 8.4

Comment installer Docker sur Rocky Linux et AlmaLinux

Comment installer MongoDB sur Rocky Linux et AlmaLinux

Comment installer Java 16 dans Rocky Linux et AlmaLinux