GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer HAProxy sur CentOS 8 / RHEL 8

HA Proxy signifie High Availability Proxy, c'est un outil d'équilibrage de charge gratuit et open source qui permet d'équilibrer le trafic entrant (TCP et basé sur HTTP ) en répartissant sur les serveurs principaux en utilisant différents critères.

En d'autres termes, nous pouvons dire que HAProxy est utilisé pour fournir une tolérance aux pannes et une haute disponibilité dans le cas où un nœud reçoit trop de demandes simultanées. Il est utilisé par la plupart des sites Web célèbres tels que GitHub, Stack Overflow et Tumbler.

Dans cet article, nous expliquerons comment installer et configurer HAProxy sur CentOS 8/RHEL 8 pour les serveurs Web Nginx. Voici les détails de la configuration de mon laboratoire haproxy,

  • Serveur HAProxy – 192.168.1.10 (haproxy-centos8)
  • Serveur Nginx 1 – 192.168.1.11 (nginx-node01)
  • Serveur Nginx 2 – 192.168.1.12 (nginx-node01)

Passons aux étapes d'installation et de configuration de HAProxy sur CentOS 8 / RHEL 8

Étape :1) Mettez à jour le fichier /etc/hosts de votre serveur HAProxy

Connectez-vous à votre système CentOS 8 ou RHEL 8 où vous allez installer haproxy, ajoutez les lignes suivantes dans le fichier /etc/hosts,

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

Après avoir mis à jour le fichier hosts, assurez-vous que vous pouvez envoyer un ping aux nœuds Nginx,

Étape :2) Installez et configurez HAProxy sur CentOS 8 / RHEL 8

Le package Haproxy est disponible dans les référentiels de packages par défaut de CentOS 8 et RHEL 8, il peut donc être facilement installé avec la commande dnf. Mais il est recommandé de mettre à jour votre système avant d'installer haproxy. Exécutez donc la commande suivante,

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

Utilisez maintenant la commande dnf suivante pour installer haproxy,

[[email protected] ~]# dnf install haproxy

Une fois l'haproxy installé avec succès, configurez-le en éditant son fichier de configuration "/etc/haproxy/haproxy.cfg ".

Avant de modifier le fichier, il est toujours recommandé de faire une sauvegarde du fichier d'origine, exécutez la commande suivante,

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

Dans le fichier de configuration, nous allons modifier deux sections frontend et backend . Dans la section Frontend, nous définissons l'adresse IP haproxy et son port, l'uri des statistiques et le nom du backend. Dans la section Backend, nous définissons le type d'algorithme d'équilibrage de charge que nous utiliserons, comme le round robin et la moindre connexion, etc., ainsi que le nom, les adresses IP et le port du serveur backend, l'exemple est illustré ci-dessous,

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    acl url_static       path_beg       -i /static /images /javascript /stylesheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#    use_backend static          if url_static
    default_backend     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

Enregistrez et quittez le fichier

Configurez rsyslog pour qu'il stocke toutes les statistiques HAProxy, modifiez le fichier de configuration rsyslog "/etc/rsyslog.conf ” et décommentez les lignes 19 et 20,

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

Enregistrez et quittez le fichier.

Créez maintenant le fichier haproxy.conf pour rsyslog , collez les lignes suivantes,

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

enregistrer et quitter le fichier

Redémarrez et activez le service rsyslog afin qu'il soit disponible lors des redémarrages

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

Enfin, démarrez haproxy mais avant de démarrer le service haproxy, définissez la règle selinux suivante,

[[email protected] ~]# setsebool -P haproxy_connect_any 1

Démarrez et activez haproxy en utilisant les commandes systemctl ci-dessous

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

Autorisez le port haproxy (dans notre cas, il s'agit de 80) dans le pare-feu du système d'exploitation, exécutez la commande ci-dessous firewall-cmd,

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

Jusqu'à présent, la partie installation et configuration de HAProxy est terminée, passons aux nœuds Nginx,

Étape 3) Installez NGINX et démarrez son service

Connectez-vous aux deux nœuds nginx, installez nginx et démarrez son service à l'aide des commandes suivantes.

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

Modifions le fichier index.html du nœud respectif,

Pour nginx-node01

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

Pour nginx-node02

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

Autoriser le port Nginx (80) dans le pare-feu du système d'exploitation dans les deux nœuds à l'aide de la commande ci-dessous,

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Étape 4) Testez si votre HAProxy fonctionne correctement ou non

Connectez-vous au serveur haproxy et exécutez la commande curl plusieurs fois pour voir si le trafic est distribué de manière circulaire

[[email protected] ~]# curl 192.168.1.10

Parfait, cela confirme que haproxy fonctionne correctement car il distribue le trafic entre deux nœuds,

Vérifions également à partir du navigateur Web,

Ci-dessus confirme que HAProxy a été configuré avec succès sur CentOS 8 et RHEL 8.

Vous pouvez voir l'état de votre haproxy via un navigateur Web, tapez url :http:///haproxy?stats

Dans notre cas, l'URL sera http://192.168.1.10/haproxy?stats

Nous pouvons également afficher les statistiques HAProxy à partir du fichier journal ( /var/log/haproxy-access.log ).

C'est tout ce tutoriel, j'espère que ces étapes vous aideront à configurer HAProxy sur CentOS 8 et RHEL 8 en douceur. Veuillez partager vos précieux commentaires et commentaires.

Lire aussi  :Comment configurer Django Python Framework sur CentOS 8


Cent OS
  1. Installer et configurer HAProxy sur RHEL 8 / CentOS 8 Linux

  2. Comment installer et configurer R sur le système Linux RHEL 8 / CentOS 8

  3. Comment installer et configurer HAProxy sur CentOS/RHEL 7/6

  4. CentOS / RHEL 7 :Comment installer et configurer telnet

  5. Comment installer et configurer Samba dans CentOS / RHEL

Comment installer et configurer Nagios Core sur CentOS 8 / RHEL 8

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer et configurer Jenkins sur CentOS 8 / RHEL 8

Comment installer et configurer HAproxy sur CentOS 6

Comment installer et configurer MariaDB dans CentOS / RHEL 7

Comment installer et configurer VNC Server sur CentOS/RHEL 8