HaProxy és utilitzat per llocs populars com Tumblr, GitHub i StackOverflow. En aquesta guia, us guiarem per la instal·lació d'HAProxy en una configuració de servidors web que funcionen amb Nginx.
Configuració del laboratori
3 instàncies de servidors CentOS 7 com es mostra
Nom d'amfitrió Adreces IP
load_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Pas 1: editeu el fitxer /etc/hosts per a l'equilibrador de càrrega
Per començar, inicieu sessió al sistema d'equilibri de càrrega i modifiqueu el fitxer /etc/hosts per incloure els noms d'amfitrió i les adreces IP dels dos servidors web, tal com es mostra.
$ perquè / etc / amfitrions
3.19.229.234 server_01
3.17.9.217 servidor-02
Un cop fet, deseu els canvis i sortiu del fitxer de configuració.
Ara aneu a cadascun dels servidors web i actualitzeu-lo /etc/hosts fitxer amb l'adreça IP i el nom d'amfitrió de l'equilibrador de càrrega
3.17.12.132 equilibrador de càrregaA continuació, confirmeu que podeu fer ping a l'equilibrador de càrrega des del servidor_01
I també des de server_02
A més, assegureu-vos que podeu fer ping als servidors des de l'equilibrador de càrrega.
Perfecte! tots els servidors poden comunicar-se amb l'equilibrador de càrrega!
Pas 2: instal·leu i configureu HA Proxy a l'equilibrador de càrrega
Com que HA Proxy està disponible des del dipòsit oficial de CentOS, l'instal·larem mitjançant el gestor de paquets yum o dnf.
Però, com sempre, actualitzeu el sistema primer
# ñam actualitzacióA continuació, instal·leu HA Proxy tal com es mostra
# yum instal·lació haproxyQuan s'ha instal·lat correctament, navegueu al directori haproxy.
# cd / etc / haproxyLa millor pràctica requereix que fem una còpia de seguretat de qualsevol fitxer de configuració abans de fer qualsevol modificació. Així que feu una còpia de seguretat haproxy.cfg fitxer canviant-lo de nom.
# mv haproxy.cfg haproxy.cfg.bakA continuació, procediu i obriu el fitxer de configuració
perquè haproxy.cfgAssegureu-vos de fer la modificació tal com es mostra
#------------------------------------------------- --------------------# Configuració global
#------------------------------------------------- --------------------
global
registre 127.0.0.1 local2 #Configuració del registre
chroot / era / lib / haproxy
fitxer pid / era / correr / haproxy.pid
maxconn 4000
usuari haproxy #Haproxy s'executa sota l'usuari i el grup 'haproxy'
grup haproxy
dimoni
# activa el sòcol Unix d'estadístiques
sòcol d'estadístiques / era / lib / haproxy / estadístiques
#------------------------------------------------- --------------------
# valors per defecte comuns que ho faran totes les seccions 'escoltar' i 'backend'.
# utilitzar si no està designat al seu bloc
#------------------------------------------------- --------------------
per defecte
mode http
registre global
opció httplog
opció dontlognull
opció http-server-close
opció forwardfor excepte 127.0.0.0 / 8
opció reenviament
reintents 3
temps d'espera http-request 10 s
cua de temps d'espera 1 min
temps d'espera connectar 10 s
temps d'espera client 1 min
servidor de temps d'espera 1 min
temps d'espera http-keep-alive 10 s
verificació del temps d'espera 10 s
maxconn 3000
#------------------------------------------------- --------------------
Configuració de monitorització #HAProxy
#------------------------------------------------- --------------------
escoltar haproxy3-monitoring * : 8080 #Haproxy Monitoring s'executa al port 8080
mode http
opció forwardfor
opció httpclose
estadístiques habilitar
les estadístiques mostren llegendes
actualització d'estadístiques 5 segons
estadístiques uri / estadístiques #URL per al monitoratge HAProxy
regne d'estadístiques Haproxy\ Estadístiques
stats auth Contrasenya123: Contrasenya123 #Usuari i contrasenya per iniciar sessió al tauler de control
administrador d'estadístiques si VERITAT
default_backend app-main #Això és opcional per supervisar el backend
#------------------------------------------------- --------------------
# Configuració FrontEnd
#------------------------------------------------- --------------------
interfície principal
lligar * : 80
opció http-server-close
opció forwardfor
default_backend app-main
#------------------------------------------------- --------------------
# BackEnd round robin com a algorisme d'equilibri
#------------------------------------------------- --------------------
backend aplicació principal
equilibri roundrobin #Algorisme d'equilibri
opció httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Comproveu que l'aplicació del servidor estigui activa i en bon estat: codi d'estat 200
servidor servidor_01 3.19.229.234: 80 comprovar #Nginx1
servidor servidor_02 3.17.9.217: 80 comprovar #Nginx2
Assegureu-vos de modificar el nom d'amfitrió i les adreces IP dels servidors web tal com s'indica a les dues últimes línies. Deseu els canvis i sortiu.
El següent pas serà configurar Rsyslog per poder registrar les estadístiques d'HAProxy.
# perquè / etc / rsyslog.confAssegureu-vos de deixar de comentar les línies següents per permetre connexions UDP
$ModLoad imudp$UDPServerRun 514
A continuació, procediu i creeu un nou fitxer de configuració haproxy.conf
# perquè / etc / rsyslog.d / haproxy.confEnganxeu les línies següents, deseu i sortiu
local2.=informació / era / registre / haproxy-access.log #Per al registre d'accéslocal2.avís / era / registre / haproxy-info.log #Per a la informació del servei - Backend, equilibrador de càrrega
Perquè els canvis tinguin efecte, reinicieu el dimoni rsyslog tal com es mostra:
# systemctl reinicieu rsyslogA continuació, inicieu i activeu HAProxy
# systemctl inicia rsyslog# systemctl habilitat rsyslog
Verifiqueu que HAProxy s'està executant
# systemctl status rsyslogPas 3: instal·leu i configureu Nginx
Ara, l'única part que queda és la instal·lació de Nginx. Inicieu sessió a cadascun dels servidors i actualitzeu primer els paquets del sistema:
# ñam actualitzacióInstal·lació següent EPEL (paquets addicionals per a Linux empresarial)
# yum instal·lació alliberament càlidPer instal·lar Nginx, executeu l'ordre:
# yum instal·lació nginxA continuació, inicieu i activeu Nginx
# systemctl inicia nginx# systemctl habilitat nginx
A continuació, modificarem el fitxer index.html en ambdós casos per tal de demostrar o simular com l'equilibrador de càrrega és capaç de distribuir el trànsit web entre tots dos servidors.
Per al servidor_01
# eco 'server_01. Ei! Benvingut al primer servidor web' > index.htmlPer al servidor_02
# eco 'server_02. Ei! Benvingut al segon servidor web' > index.htmlPerquè els canvis es realitzin, reinicieu Nginx
# systemctl reinicieu nginxPas 4: prova si l'equilibrador de càrrega funciona
Finalment estem al punt on volem veure si la configuració funciona. Així que inicieu sessió a l'equilibrador de càrrega i executeu l'ordre curl repetidament
# rínxol 3.17.12.132Hauríeu d'obtenir una sortida alterna al terminal que mostri el valor d'index.html de server_01 i server_02
Ara anem a provar amb un navegador web. Exploreu l'adreça IP del vostre equilibrador de càrrega
http: // adreça-IP de l'equilibrador de càrregaLa primera pàgina mostrarà contingut de qualsevol dels servidors web
Ara actualitzeu la pàgina web i comproveu si mostra contingut de l'altre servidor web
Perfecte! L'equilibri de càrrega distribueix el trànsit IP de manera equitativa entre els dos servidors web!
Això tanca aquest tutorial sobre com podeu instal·lar i configurar HAProxy a CentOS 8. Els vostres comentaris seran molt apreciats.