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

Installer HAProxy sur CentOS 8 - Guide étape par étape ?

HAProxy est un équilibreur de charge et un serveur proxy HTTP/TCP haute disponibilité gratuits. Il répartit les requêtes sur plusieurs serveurs pour atténuer les problèmes résultant d'une défaillance d'un seul serveur. HA Proxy est utilisé par un certain nombre de sites Web de premier plan, notamment GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter et Tuenti, et est utilisé dans le produit OpsWorks d'Amazon Web Services.

Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes de configuration HAProxy associées.

Dans ce contexte, nous verrons comment installer HAProxy sur votre système CentOS 8.


Étapes pour installer et configurer HAProxy sur CentOS 8

1. Effectuez la mise à jour du système

Tout d'abord, commençons par nous assurer que votre système est à jour :

$ sudo clean all
$ sudo dnf update


2. Installez HAProxy sur le système

HAProxy est disponible sur CentOS 8 par défaut. Utilisez maintenant la commande dnfa suivante pour installer HAProxy :

$ sudo dnf install haproxy

Ensuite, nous devons vérifier que HAProxy démarre chaque fois que nous redémarrons notre serveur. Nous pouvons accomplir cela avec la commande chkconfig ci-dessous :

$ chkconfig haproxy on


3. Configurer HAProxy

Nous allons créer un fichier de configuration /etc/haproxy/haproxy.cfg contenant les paramètres et configurations nécessaires :

$ sudo nano /etc/haproxy/haproxy.cfg

Entrez ce qui suit dans le fichier :

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend main
    bind *:5000
    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             app
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

Vous pouvez afficher les détails de la configuration et plus d'informations sur cette URL. Une fois que vous avez configuré HAProxy, il est temps de démarrer le service :

$ sudo systemctl start haproxy
$ sudo systemctl enable haproxy


4. Configurer le pare-feu

Nous allons ajouter le HAProxy au pare-feu CentOS 8 et mettre à jour les règles avec les commandes suivantes :

$ sudo firewall-cmd --add-port=8088/tcp --permanent
$ sudo firewall-cmd --reload


5. Configurer la journalisation HAProxy

Pour configurer la journalisation standard HAProxy, modifiez /etc/rsyslog.conf et activez la réception UDP Syslog sur le port 514 :

$ sudo nano /etc/rsyslog.conf
...
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
...
*.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages
local2.* /var/log/haproxy.log
...

Ensuite, enregistrez le fichier de configuration et exécutez la commande ci-dessous pour rechercher d'éventuelles erreurs :

$ rsyslogd -N1
$ sudo systemctl restart rsyslog haproxy


6. Configurer Apache X-Forwarded-For Logging sur les serveurs principaux

Maintenant, nous nous connectons aux serveurs principaux et configurons Apache pour enregistrer les en-têtes X-Forwarded-For. La ligne par défaut que nous modifions est :

...
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Modifiez cette ligne pour qu'elle ressemble à :

...
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Enregistrez le fichier et redémarrez Apache :

$ apachectl configtest
$ sudo systemctl restart httpd


Comment tester l'équilibreur de charge HAProxy ?

Pour vérifier que HAProxy est capable d'équilibrer la charge des requêtes HTTP, accédez au navigateur et accédez à HAProxy à l'aide du nom d'hôte ou de l'adresse IP.


Comment redémarrer HAProxy ?

Après avoir configuré la couche 4 ou la couche 7, redémarrez HAProxy avec la commande suivante :

$ systemctl restart haproxy

Un redémarrage réussi n'entraînera aucune sortie, ce qui signifie que HAProxy est opérationnel avec les modifications que vous venez d'implémenter.



Cent OS
  1. Installer Apache Ant sur CentOS 8 - Guide étape par étape ?

  2. Installer Nethogs sur CentOS 8 - Guide étape par étape ?

  3. Installer Foxit Reader sur CentOS 8 - Guide étape par étape ?

  4. Installer Steam sur CentOS 8 - Guide étape par étape ?

  5. Installer Discord sur CentOS 8 - Un guide étape par étape ?

Guide étape par étape pour installer CentOS 8 (avec captures d'écran)

Installer FreeIPA sur CentOS 8 - Guide étape par étape ?

Installer OrangeScrum sur CentOS 8 - Guide étape par étape ?

Installer Rar / Unrar sur Centos 8 - Guide étape par étape ?

Installer ClamAV sur CentOS 8 - Guide étape par étape ?

Comment installer HAProxy sur CentOS 8