Kaip nustatyti HAProxy kaip Nginx apkrovos balansavimo priemonę CentOS 8

Kaip Nustatyti Haproxy Kaip Nginx Apkrovos Balansavimo Priemone Centos 8



High Availability Proxy, taip pat sutrumpintai kaip HAProxy, yra lengvas ir greitas apkrovos balansavimo įrankis, kuris taip pat veikia kaip tarpinis serveris. Kaip apkrovos balansavimo priemonė, ji atlieka lemiamą vaidmenį paskirstant gaunamą žiniatinklio srautą keliuose žiniatinklio serveriuose pagal tam tikrus kriterijus. Tai darydama užtikrina aukštą pasiekiamumą ir atsparumą gedimams tuo atveju, jei yra per daug vienalaikių užklausų, kurios gali perkrauti vieną žiniatinklio serverį.

„HaProxy“ naudoja populiarios svetainės, tokios kaip „Tumblr“, „GitHub“ ir „StackOverflow“. Šiame vadove paaiškinsime, kaip įdiegti HAProxy žiniatinklio serverių, kurie maitinami naudojant Nginx, sąranką.

Laboratorijos sąranka

3 CentOS 7 serverių atvejai, kaip parodyta







Prieglobos serverio pavadinimas           IP adresai

load_balancer      3.17.12.132
serveris_01          3.19.229.234
serveris_02          3.17.9.217

1 veiksmas: redaguokite /etc/hosts failą apkrovos balansavimui

Norėdami pradėti, prisijunkite prie apkrovos balansavimo sistemos ir pakeiskite failą /etc/hosts, kad įtrauktumėte dviejų žiniatinklio serverių pagrindinius pavadinimus ir IP adresus, kaip parodyta.



$ nes / ir tt / šeimininkai
3.19.229.234   serveris_01
3.17.9.217     serveris-02



Baigę išsaugokite pakeitimus ir išeikite iš konfigūracijos failo.





Dabar eikite į kiekvieną žiniatinklio serverį ir atnaujinkite /etc/hosts failą su apkrovos balansavimo priemonės IP adresu ir pagrindinio kompiuterio pavadinimu

3.17.12.132   apkrovos balansavimo priemonė

Po to patvirtinkite , kad galite siųsti apkrovos balansavimo priemonę iš serverio_01



Taip pat iš serverio_02

Be to, įsitikinkite, kad galite ping serveriams iš apkrovos balansavimo priemonės.

Puikus ! visi serveriai gali susisiekti su apkrovos balansavimo priemone!

2 veiksmas: įdiekite ir sukonfigūruokite HA tarpinį serverį apkrovos balansavimo priemonėje

Kadangi HA tarpinis serveris yra lengvai pasiekiamas iš oficialios CentOS saugyklos, ketiname jį įdiegti naudodami yum arba dnf paketų tvarkyklę.

Tačiau, kaip visada, pirmiausia atnaujinkite sistemą

# yum atnaujinimas

Tada įdiekite HA tarpinį serverį, kaip parodyta

# yum įdiegti haproxy

Sėkmingai įdiegę eikite į haproxy katalogą.

# cd / ir tt / haproxy

Geriausia praktika reikalauja, kad prieš atlikdami pakeitimus sukurtume atsarginę konfigūracijos failo kopiją. Taigi kurkite atsarginę kopiją haproxy.cfg failą pervardydami.

# mv haproxy.cfg  haproxy.cfg.bak

Tada tęskite ir atidarykite konfigūracijos failą

nes haproxy.cfg

Įsitikinkite, kad atlikote pakeitimus, kaip parodyta

#-------------------------------------------------- --------------------
# Visuotiniai nustatymai
#-------------------------------------------------- --------------------
globalus
log         127.0.0.1 vietinis2 #Žurnalo konfigūracija

chroot / buvo / lib / haproxy
pidfile / buvo / paleisti / haproxy.pid
maxconn 4000
naudotojas        haproxy #Haproxy veikia pagal vartotojo ir grupės 'haproxy'
grupės       haproxy
demonas

# įjunkite statistikos unix lizdą
statistikos lizdas / buvo / lib / haproxy / statistika

#-------------------------------------------------- --------------------
# bendri numatytieji nustatymai, kuriuos turės visos „klausymo“ ir „galinės dalies“ skiltys
# naudoti, jei nenurodyta jų bloke
#-------------------------------------------------- --------------------
numatytieji
režimas                   http
žurnalas                     globalus
parinktis                  httplog
parinktis                  dontlognull
parinktis http-server-close
parinktis persiųsti     , išskyrus 127.0.0.0 / 8
galimybė                  persiuntimas
pakartotinai 3
timeout http-request    10s
skirtojo laiko eilė           1m
timeout connect         10s
timeout klientas          1 min
serverio skirtasis laikas          1 min
timeout http-keep-alive 10s
pasibaigusio laiko patikrinimas           10 sek
maxconn 3000

#-------------------------------------------------- --------------------
#HAProxy stebėjimo konfig
#-------------------------------------------------- --------------------
klausytis haproxy3 stebėjimo * : 8080 #Haproxy Monitoring veikia 8080 prievade
režimas http
variantas į priekį
parinktis http uždaryti
statistika įjungti
statistika rodo legendas
statistika atnaujinama 5s
statistika uri / statistika #URL skirtas HAProxy stebėjimui
statistikos sritis Haproxy\ Statistics
stats auth Slaptažodis123: Slaptažodis123 #Vartotojas ir slaptažodis prisijungimui prie stebėjimo prietaisų skydelio
statistikos administratorius jeigu TIESA
default_backend app-main #Tai pasirinktinai skirta foninei sistemai stebėti

#-------------------------------------------------- --------------------
# FrontEnd konfigūracija
#-------------------------------------------------- --------------------
frontend pagrindinis
įpareigoti * : 80
parinktis http-server-close
variantas į priekį
default_backend app-main

#-------------------------------------------------- --------------------
# BackEnd round robin kaip balanso algoritmas
#-------------------------------------------------- --------------------
backend app-main

balansas roundrobin #Balanso algoritmas

parinktis httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Patikrinkite, ar serverio programa veikia ir veikia – 200 būsenos kodas

serverio serveris_01 ​​3.19.229.234: 80 patikrinti #Nginx1

serverio serveris_02 3.17.9.217: 80 patikrinti #Nginx2

Būtinai pakeiskite žiniatinklio serverių pagrindinio kompiuterio pavadinimą ir IP adresus, kaip nurodyta paskutinėse dviejose eilutėse. Išsaugokite pakeitimus ir išeikite.

Kitas žingsnis bus sukonfigūruoti Rsyslog, kad būtų galima registruoti HAProxy statistiką.

# nes / ir tt / rsyslog.conf

Įsitikinkite, kad panaikinote toliau pateiktų eilučių komentarus, kad būtų galima prisijungti prie UDP

$ModLoad imudp
$UDPServerRun 514

Tada tęskite ir sukurkite naują konfigūracijos failą haproxy.conf

# nes / ir tt / rsyslog.d / haproxy.conf

Įklijuokite šias eilutes, išsaugokite ir išeikite

vietinis2.=informacija / buvo / žurnalas / haproxy-access.log #Prieigos žurnalas
vietinis2.pranešimas / buvo / žurnalas / haproxy-info.log #Informacijai apie paslaugą – Backend, loadbalancer

Kad pakeitimai įsigaliotų, iš naujo paleiskite rsyslog demoną, kaip parodyta:

# systemctl iš naujo paleiskite rsyslog

Tada paleiskite ir įjunkite HAProxy

# systemctl paleisti rsyslog
# systemctl įgalinti rsyslogą

Patikrinkite, ar veikia HAProxy

# systemctl būsena rsyslog

3 veiksmas: įdiekite ir sukonfigūruokite „Nginx“.

Dabar liko tik „Nginx“ diegimas. Prisijunkite prie kiekvieno serverio ir pirmiausia atnaujinkite sistemos paketus:

# yum atnaujinimas

Kitas diegimas  EPEL (papildomi paketai, skirti Enterprise Linux)

# yum įdiegti šiltas išleidimas

Norėdami įdiegti „Nginx“, paleiskite komandą:

# yum įdiegti nginx

Tada paleiskite ir įgalinkite „Nginx“.

# systemctl paleisti nginx
# systemctl įgalinti nginx

Tada abiem atvejais pakeisime failą index.html, kad parodytume arba imituotume, kaip apkrovos balansavimo priemonė gali paskirstyti žiniatinklio srautą abiejuose serveriuose.

Serveriui_01

# aidas 'serveris_01. Sveiki! Sveiki atvykę į pirmąjį žiniatinklio serverį' > index.html

Serveriui_02

# aidas 'serveris_02. Sveiki! Sveiki atvykę į antrąjį žiniatinklio serverį' > index.html

Kad pakeitimai būtų atlikti, iš naujo paleiskite „Nginx“.

# systemctl iš naujo paleiskite nginx

4 veiksmas: patikrinkite, ar veikia apkrovos balansavimo priemonė

Pagaliau esame toje vietoje, kur norime pamatyti, ar konfigūracija veikia. Taigi prisijunkite prie apkrovos balansavimo priemonės ir pakartotinai vykdykite curl komandą

# garbanė 3.17.12.132

Turėtumėte gauti kintamą išvestį terminale, rodančią index.html reikšmę iš serverio_01 ir serverio_02

Dabar išbandykime naudodami žiniatinklio naršyklę. Naršykite apkrovos balansavimo priemonės IP adresą

http: // apkrovos balansavimo IP adresas

Pirmame puslapyje bus rodomas bet kurio žiniatinklio serverio turinys


Dabar atnaujinkite tinklalapį ir patikrinkite, ar jame rodomas turinys iš kito žiniatinklio serverio

Puikus ! Apkrovos balansas vienodai paskirsto IP srautą tarp dviejų žiniatinklio serverių!
Tai baigia šią pamoką, kaip įdiegti ir konfigūruoti HAProxy CentOS 8. Bus labai dėkingi už jūsų atsiliepimus.