Haproxy est utilisé par des sites populaires tels que Tumblr, Github et StackOverflow. Dans ce guide, nous vous emmènerons à travers l'installation de Haproxy dans une configuration de serveurs Web qui sont alimentés à l'aide de Nginx.
Configuration de laboratoire
3 instances de serveurs Centos 7 comme indiqué
Adresses IP de nom d'hôteÉtape 1: Modifiez le fichier / etc / hôtes pour l'équilibreur de chargement
Pour commencer, connectez-vous au système Balancer Load et modifiez le fichier / etc / hôtes pour inclure les noms d'hôte et les adresses IP des deux serveurs Web comme indiqué
$ vim / etc / hôtes
3.19.229.234 Server_01
3.17.9.217 Server-02
Une fois terminé, enregistrez les modifications et quittez le fichier de configuration.
Maintenant, dirigez-vous vers chacun des serveurs Web et mettez à jour le / etc / hôtes fichier avec l'adresse IP et le nom d'hôte de l'équilibreur de chargement
3.17.12.132 Balancer de chargement
Par la suite, confirmez que vous pouvez faire un ping-ping l'équilibreur de charge à partir de server_01
Et de même à partir de server_02
Assurez-vous également, vous pouvez cingler les serveurs de l'équilibreur de charge.
Parfait ! Tous les serveurs peuvent communiquer avec l'équilibreur de charge!
Étape 2: Installer et configurer le proxy HA sur l'équilibreur de chargement
Parce que HA Proxy est facilement disponible dans le référentiel officiel de CentOS, nous allons l'installer en utilisant le gestionnaire de packages Yum ou DNF.
Mais comme toujours, mettez à jour le système d'abord
# mise à jour
Ensuite, installez le proxy HA comme indiqué
# yum install haproxy
Lors de l'installation réussie, accédez au répertoire Haproxy.
# cd / etc / haproxy
La meilleure pratique nous oblige à sauvegarder n'importe quel fichier de configuration avant d'apporter des modifications. Donc, sauvegarde le haproxy.CFG dossier en le renommant.
# mv haproxy.haproxy CFG.CFG.bak
Ensuite, procédez et ouvrez le fichier de configuration
vim haproxy.CFG
Assurez-vous de faire la modification comme indiqué
#---------------------------------------------------------------------
# Paramètres globaux
#---------------------------------------------------------------------
mondial
journal 127.0.0.1 configuration locale2 #log
chroot / var / lib / haproxy
pidfile / var / run / haproxy.piquer
Maxconn 4000
Haproxy utilisateur #haproxy fonctionnant sous l'utilisateur et le groupe "haproxy"
Haproxy de groupe
démon
# Activer les statistiques Unix Socket
Statistiques / var / lib / haproxy / statistiques
#---------------------------------------------------------------------
# par défaut communs que toutes les sections «écouter» et «backend»
# Utiliser s'il n'est pas désigné dans leur bloc
#---------------------------------------------------------------------
par défaut
mode http
journal mondial
Option httplog
Option Dontlognull
option http-server-close
Option Forwardfor Sauf 127.0.0.0/8
Option Redispatch
Retries 3
Timeout http-request 10s
Fitulature de délai de temps 1m
Timeout Connect 10s
Timeout Client 1M
Serveur de délai d'expiration 1m
Timeout http-gardien 10s
chèque de temps mort 10s
MaxConn 3000
#---------------------------------------------------------------------
Configuration de surveillance #haproxy
#---------------------------------------------------------------------
Écouter Haproxy3-montring *: 8080 #haproxy surveillance exécuter sur le port 8080
mode http
Option Forward pour
Option httpclose
Les statistiques activent
statistiques show-legends
statistiques rafraîchis 5s
statistiques uri / statistiques #url pour la surveillance de Haproxy
statistiques du royaume haproxy \ statistiques
Stats Auth Password123: Password123 # utilisateur et mot de passe pour se connecter au tableau de bord de surveillance
Admin des statistiques si vraie
Default_backend App-main # Il est éventuellement de surveiller le backend
#---------------------------------------------------------------------
# Configuration du frontend
#---------------------------------------------------------------------
frontend principal
lier *: 80
option http-server-close
Option Forward pour
default_backend App-main
#---------------------------------------------------------------------
# Backend Round Robin comme algorithme d'équilibre
#---------------------------------------------------------------------
application backend
Balance Roundrobin #Balance Algorithme
Option Httpchk Head / Http / 1.1 \ r \ nhost: \ localhost
#Check L'application du serveur est en place et Healty - 200 code d'état
serveur serveur_01 3.19.229.234: 80 Vérifier # nginx1
serveur serveur_02 3.17.9.217: 80 Vérifier # nginx2
Assurez-vous de modifier le nom d'hôte et les adresses IP des serveurs Web comme indiqué dans les deux dernières lignes. Enregistrer les modifications et quitter.
La prochaine étape sera de configurer RSYSLOG pour pouvoir enregistrer les statistiques Haproxy.
# vim / etc / rsyslog.confli
Assurez-vous de décomiser les lignes ci-dessous pour permettre des connexions UDP
$ Modload iMudp
$ Udpserverrun 514
Ensuite, procédez et créez un nouveau fichier de configuration haproxy.confli
# vim / etc / rsyslog.d / haproxy.confli
Collez les lignes suivantes, sauvegarde et quitte
local2.= info / var / log / haproxy-Access.Journal # pour le journal d'accès
local2.Avis / var / log / haproxy-info.Journal # pour les informations de service - backend, chargebalancer
Pour que les modifications prennent effet, redémarrez le démon Rsyslog comme indiqué:
# systemctl redémarrer rsyslog
Puis démarrer et activer haproxy
# systemctl start rsyslog
# SystemCTL Activer RSYSLOG
Vérifiez que Haproxy fonctionne
# Statut SystemCTL RSYSLOG
Étape 3: Installer et configurer Nginx
Maintenant, la seule partie restante est l'installation de nginx. Connectez-vous à chacun des serveurs et mettez d'abord à mettre à jour les packages système:
# mise à jour
Installez ensuite EPEL (packages supplémentaires pour Enterprise Linux)
# yum installer EPEL-Release
Pour installer nginx, exécutez la commande:
# yum install nginx
Ensuite, démarrez et activez Nginx
# systemctl start nginx
# SystemCTL Activer Nginx
Nous allons ensuite modifier l'index.Fichier HTML dans les deux cas afin de démontrer ou de simuler comment l'équilibreur de charge est en mesure de distribuer le trafic Web sur les deux serveurs.
Pour server_01
# echo "Server_01. Hé ! Bienvenue sur le premier serveur Web "> Index.html
Pour server_02
# echo "Server_02. Hé ! Bienvenue dans le deuxième serveur Web "> Index.html
Pour que les modifications soient effectuées, redémarrez Nginx
# systemctl redémarrer nginx
Étape 4: Test si l'équilibreur de chargement fonctionne
Nous sommes enfin au point où nous voulons voir si la configuration fonctionne. Alors connectez-vous à l'équilibreur de charge et exécutez la commande curl à plusieurs reprises
# curl 3.17.12.132
Vous devriez obtenir une sortie alternative sur le terminal montrant la valeur de l'index.html de server_01 et server_02
Testons maintenant à l'aide d'un navigateur Web. Parcourez l'adresse IP de votre équilibreur de chargement
http: // load-balancer-ip-address
La première page affichera le contenu de l'un des serveurs Web
Maintenant, actualisez la page Web et vérifiez si elle affiche le contenu de l'autre serveur Web
Parfait ! Le solde de charge distribue également le trafic IP entre les deux serveurs Web !
Cela conclut ce tutoriel sur la façon dont vous pouvez installer ainsi que la configuration de Haproxy sur Centos 8. Vos commentaires seront très appréciés.