HaProxy izmanto tādas populāras vietnes kā Tumblr, GitHub un StackOverflow. Šajā rokasgrāmatā mēs iepazīstināsim jūs ar HAProxy instalēšanu tīmekļa serveru iestatījumos, kas darbojas ar Nginx.
Laboratorijas iestatīšana
3 CentOS 7 serveru gadījumi, kā parādīts
Saimnieka nosaukums IP adresesslodzes balansētājs 3.17.12.132
serveris_01 3.19.229.234
serveris_02 3.17.9.217
1. darbība: rediģējiet slodzes līdzsvarotāja failu / etc / hosts
Lai sāktu, piesakieties slodzes līdzsvarošanas sistēmā un modificējiet failu / etc / hosts, lai iekļautu abu tīmekļa serveru resursdatora nosaukumus un IP adreses, kā parādīts
$ vim / etc / hosts3.19.229.234 serveris_01
3.17.9.217 serveris-02
Kad tas izdarīts, saglabājiet izmaiņas un izejiet no konfigurācijas faila.
Tagad dodieties uz katru tīmekļa serveri un atjauniniet / etc / hosts fails ar slodzes balansētāja IP adresi un resursdatora nosaukumu
3.17.12.132 slodzes līdzsvarotājsPēc tam apstipriniet, ka slodzes balansētāju var pingēt no servera_01
Un tāpat no servera_02
Pārliecinieties arī, vai serverus var pingēt no slodzes līdzsvarotāja.
Lieliski ! visi serveri var sazināties ar slodzes līdzsvarotāju!
2. darbība: instalējiet un konfigurējiet HA Proxy slodzes līdzsvarotājā
Tā kā HA Proxy ir viegli pieejams CentOS oficiālajā repozitorijā, mēs to instalēsim, izmantojot yum vai dnf pakotņu pārvaldnieku.
Bet kā vienmēr, vispirms atjauniniet sistēmu
# yum atjauninājumsPēc tam instalējiet HA Proxy, kā parādīts
# yum instalēt haproksiju
Pēc veiksmīgas instalēšanas dodieties uz haproksi direktoriju.
# cd / etc / haproksiPēc labākās prakses mums ir jādublē visi konfigurācijas faili pirms jebkādu izmaiņu veikšanas. Tātad dublējiet haproksi.cfg failu, pārdēvējot to.
# mv haproksija.cfg haproksi.cfg.bakPēc tam turpiniet un atveriet konfigurācijas failu
vim haproksija.cfgPārliecinieties, vai veicat modifikāciju, kā parādīts attēlā
#---------------------------------------------------------------------# Globālie iestatījumi
#---------------------------------------------------------------------
globāls
log 127.0.0.1 local2 #Log konfigurācija
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
lietotāja haproksija #Haproxy darbojas zem lietotāja un grupas "haproxy"
grupas haproksi
dēmons
# ieslēdziet stats unix ligzdu
stats ligzda / var / lib / haproxy / stats
#---------------------------------------------------------------------
# kopīgi noklusējumi, kas būs visās sadaļās “klausīties” un “aizmugurē”
# izmantot, ja nav norādīts viņu blokā
#---------------------------------------------------------------------
noklusējumus
režīms http
žurnāls globāls
opcija httplog
opcija dontlognull
opcija http-server-close
opcija uz priekšu, izņemot 127.0.0.0/8
opcijas pārsūtīšana
mēģiniet vēlreiz 3
taimauts http-pieprasījums 10s
taimauta rinda 1m
taimauts savienot 10s
taimauta klients 1m
taimauta serveris 1m
taimauts http-keep-alive 10s
taimauta pārbaude 10s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
klausieties haproxy3-monitoring *: 8080 #Haproxy Monitoring darbojas 8080. portā
režīms http
opcija uz priekšu
opcija httpclose
statistika iespējo
statistika rāda leģendas
statistika atsvaidzina 5s
stats uri / stats #URL HAProxy uzraudzībai
stats realm Haproxy \ Statistics
stats auth Password123: Password123 # Lietotājs un parole, lai pieteiktos uzraudzības informācijas panelī
stats admin ja TRUE
default_backend app-main # Tas pēc izvēles ir paredzēts aizmugures uzraudzībai
#---------------------------------------------------------------------
# FrontEnd konfigurācija
#---------------------------------------------------------------------
frontend galvenais
iesiet *: 80
opcija http-server-close
opcija uz priekšu
default_backend app-main
#---------------------------------------------------------------------
# BackEnd apļa pārbaude kā bilances algoritms
#---------------------------------------------------------------------
backend app-main
bilances roundrobin # Bilances algoritms
opcija httpchk HEAD / HTTP / 1.1 \ r \ nVietnieks: \ localhost
# Pārbaudiet, vai servera lietojumprogramma ir izveidota un ir derīga - 200 statusa kods
servera serveris_01 3.19.229.234: 80 pārbaudiet # Nginx1
servera serveris_02 3.17.9.217: 80 pārbaudiet # Nginx2
Noteikti modificējiet tīmekļa serveru resursdatora nosaukumu un IP adreses, kā norādīts pēdējās divās rindiņās. Saglabājiet izmaiņas un izejiet.
Nākamais solis būs Rsyslog konfigurēšana, lai varētu reģistrēt HAProxy statistiku.
# vim / etc / rsyslog.konfLai atļautu UDP savienojumus, noteikti noņemiet komentārus no tālāk norādītajām rindām
$ ModLoad imudp$ UDPServerRun 514
Pēc tam turpiniet un izveidojiet jaunu konfigurācijas failu haproksi.konf
# vim / etc / rsyslog.d / haproksi.konfIelīmējiet šādas rindas, saglabājiet un izejiet
vietējais2.= info / var / log / haproxy-access.žurnāls #Piekļuves žurnālamvietējais2.paziņojums / var / log / haproksi-info.žurnāls #Pakalpojuma informācijai - aizmugure, slodzes balansētājs
Lai izmaiņas stātos spēkā, restartējiet rsyslog dēmonu, kā parādīts:
# systemctl restartējiet rsyslogPēc tam sāciet un iespējojiet HAProxy
# systemctl sākt rsyslog# systemctl iespējojiet rsyslog
Pārbaudiet, vai darbojas HAProxy
# systemctl statusa rsyslog
3. darbība: instalējiet un konfigurējiet Nginx
Vienīgā atlikusī daļa ir Nginx instalēšana. Piesakieties katrā no serveriem un vispirms atjauniniet sistēmas pakotnes:
# yum atjauninājumsNākamā EPEL instalēšana (papildu paketes Enterprise Linux)
# yum instalēt epel-releaseLai instalētu Nginx, palaidiet komandu:
# yum instalēt nginxPēc tam sāciet un iespējojiet Nginx
# systemctl sākt nginx# systemctl iespējojiet nginx
Pēc tam mēs modificēsim indeksu.HTML failu abos gadījumos, lai parādītu vai simulētu, kā slodzes līdzsvarotājs spēj sadalīt tīmekļa trafiku abos serveros.
Par serveri_01
# echo "serveris_01. Hei ! Laipni lūdzam pirmajā tīmekļa servera "> rādītājā.htmlPar serveri_02
# echo "serveris_02. Hei ! Laipni lūdzam otrā tīmekļa servera "> rādītājā.htmlLai veiktu izmaiņas, restartējiet Nginx
# systemctl restartējiet nginx4. darbība. Pārbaudiet, vai slodzes līdzsvarotājs darbojas
Beidzot esam tajā vietā, kur vēlamies redzēt, vai konfigurācija darbojas. Tāpēc piesakieties slodzes līdzsvarotājā un atkārtoti izpildiet čokurošanās komandu
# čokurošanās 3.17.12.132Jums vajadzētu iegūt mainīgu izeju terminālī, kas parāda indeksa vērtību.html no servera_01 un servera_02
Tagad pārbaudīsim, izmantojot tīmekļa pārlūkprogrammu. Pārlūkojiet slodzes līdzsvarotāja IP adresi
http: // slodzes līdzsvarotājs-IP-adresePirmajā lapā tiks parādīts saturs no jebkura tīmekļa servera
Tagad atsvaidziniet vietni un pārbaudiet, vai tajā ir redzams otra tīmekļa servera saturs
Lieliski ! Slodzes bilance sadala IP trafiku vienādi starp abiem tīmekļa serveriem !
Tas apkopo šo apmācību par to, kā CentOS 8 var instalēt, kā arī konfigurēt HAProxy. Jūsu atsauksmes tiks ļoti novērtētas.