HAProxy

Kā iestatīt HAProxy kā slodzes līdzsvarotāju Nginx sistēmā CentOS 8

Kā iestatīt HAProxy kā slodzes līdzsvarotāju Nginx sistēmā CentOS 8
Augstas pieejamības starpniekserveris, saīsināti arī kā HAProxy, ir viegls un ātrs slodzes līdzsvarotājs, kas vienlaikus darbojas arī kā starpniekserveris. Kā slodzes līdzsvarotājam tai ir izšķiroša loma ienākošās tīmekļa trafika izplatīšanā vairākos tīmekļa serveros, izmantojot noteiktus kritērijus. To darot, tas nodrošina augstu pieejamību un kļūdu toleranci, ja ir pārāk daudz vienlaicīgu pieprasījumu, kas var pārslogot vienu tīmekļa serveri.

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 adreses
slodzes 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 / hosts
3.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ājs

Pē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ājums

Pē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 / haproksi

Pē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.bak

Pēc tam turpiniet un atveriet konfigurācijas failu

vim haproksija.cfg

Pā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.konf

Lai 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.konf

Ielīmējiet šādas rindas, saglabājiet un izejiet

vietējais2.= info / var / log / haproxy-access.žurnāls #Piekļuves žurnālam
vietē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 rsyslog

Pē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ājums

Nākamā EPEL instalēšana (papildu paketes Enterprise Linux)

# yum instalēt epel-release

Lai instalētu Nginx, palaidiet komandu:

# yum instalēt nginx

Pē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ā.html

Par serveri_02

# echo "serveris_02. Hei ! Laipni lūdzam otrā tīmekļa servera "> rādītājā.html

Lai veiktu izmaiņas, restartējiet Nginx

# systemctl restartējiet nginx

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

Jums 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-adrese

Pirmajā 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.

Kā parādīt OSD pārklājumu pilnekrāna Linux lietotnēs un spēlēs
Spēlējot pilnekrāna spēles vai lietojot lietotnes bez atrautības pilnekrāna režīmā, jūs varat izslēgt no attiecīgās sistēmas informācijas, kas redzama...
Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...
Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...