Com configurar HAProxy com a equilibrador de càrrega per a Nginx a CentOS 8

Com Configurar Haproxy Com A Equilibrador De Carrega Per A Nginx A Centos 8



High Availability Proxy, també abreujat com a HAProxy, és un equilibrador de càrrega lleuger i ràpid que també funciona com a servidor intermediari. Com a equilibrador de càrrega, juga un paper crucial en la distribució del trànsit web entrant entre diversos servidors web mitjançant determinats criteris. En fer-ho, assegura una alta disponibilitat i tolerància a errors en cas que hi hagi massa sol·licituds concurrents que puguin sobrecarregar un únic servidor web.

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àrrega

A 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ó haproxy

Quan s'ha instal·lat correctament, navegueu al directori haproxy.

# cd / etc / haproxy

La 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.bak

A continuació, procediu i obriu el fitxer de configuració

perquè haproxy.cfg

Assegureu-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.conf

Assegureu-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.conf

Enganxeu les línies següents, deseu i sortiu

local2.=informació / era / registre / haproxy-access.log #Per al registre d'accés
local2.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 rsyslog

A continuació, inicieu i activeu HAProxy

# systemctl inicia rsyslog
# systemctl habilitat rsyslog

Verifiqueu que HAProxy s'està executant

# systemctl status rsyslog

Pas 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àlid

Per instal·lar Nginx, executeu l'ordre:

# yum instal·lació nginx

A 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.html

Per al servidor_02

# eco 'server_02. Ei! Benvingut al segon servidor web' > index.html

Perquè els canvis es realitzin, reinicieu Nginx

# systemctl reinicieu nginx

Pas 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.132

Haurí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àrrega

La 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.