HaProxy izmanto populāras vietnes, piemēram, 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 tiek darbināti, izmantojot Nginx.
Laboratorijas iestatīšana
3 CentOS 7 serveru gadījumi, kā parādīts attēlā
Saimniekdatora nosaukums IP adreses
load_balancer 3.17.12.132
serveris_01 3.19.229.234
serveris_02 3.17.9.217
1. darbība: rediģējiet /etc/hosts failu slodzes balansētājam
Lai sāktu, piesakieties slodzes balansēšanas sistēmā un modificējiet /etc/hosts failu, lai iekļautu divu tīmekļa serveru resursdatoru nosaukumus un IP adreses, kā parādīts attēlā.
$ jo / utt / saimnieki
3.19.229.234 serveris_01
3.17.9.217 serveris-02
Kad tas ir izdarīts, saglabājiet izmaiņas un izejiet no konfigurācijas faila.
Tagad dodieties uz katru tīmekļa serveri un atjauniniet /etc/hosts failu ar slodzes balansētāja IP adresi un resursdatora nosaukumu
3.17.12.132 slodzes līdzsvarotājsPēc tam apstipriniet, ka varat pārbaudīt slodzes līdzsvarotāju no servera_01
Un tāpat no servera_02
Pārliecinieties arī, ka varat ping serveriem no slodzes balansētāja.
Perfekti! visi serveri var sazināties ar slodzes balansētāju!
2. darbība. Instalējiet un konfigurējiet HA starpniekserveri slodzes balansētājā
Tā kā HA starpniekserveris 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 starpniekserveri, kā parādīts attēlā
# yum instalēt haproxyPēc veiksmīgas instalēšanas pārejiet uz haproxy direktoriju.
# cd / utt / haproxyLabākā prakse paredz, ka pirms jebkādu modifikāciju veikšanas ir jādublē jebkurš konfigurācijas fails. Tātad dublējiet haproxy.cfg failu, pārdēvējot to.
# mv haproxy.cfg haproxy.cfg.bakPēc tam turpiniet un atveriet konfigurācijas failu
jo haproxy.cfgPārliecinieties, ka veicat izmaiņas, kā parādīts attēlā
#-------------------------------------------------- ---------------------# Globālie iestatījumi
#-------------------------------------------------- ---------------------
globāli
log 127.0.0.1 local2 #Žurnāla konfigurācija
chroot / bija / lib / haproxy
pidfile / bija / palaist / haproxy.pid
maxconn 4000
lietotāja haproxy #Haproxy darbojas zem lietotāja un grupas 'haproxy'
grupas haproxy
dēmons
# ieslēdziet statistikas unix ligzdu
statistikas ligzda / bija / lib / haproxy / statistika
#-------------------------------------------------- ---------------------
# parasti noklusējuma iestatījumi, ko izmantos visas sadaļas “klausīšanās” un “aizmugursistēma”.
# izmantojiet, ja tas nav norādīts to blokā
#-------------------------------------------------- ---------------------
noklusējuma iestatījumi
režīms http
log globāli
opcija httplog
opcija dontlognull
opcija http-server-close
opcija Forward for izņemot 127.0.0.0 / 8
iespēja pārsūtīšana
mēģina atkārtoti 3
taimauts http-pieprasījums 10 s
taimauta rinda 1 m
taimauts savienojuma izveide 10 s
taimauta klients 1 min
taimauta serveris 1 min
taimauts http-keep-alive 10s
noildzes pārbaude 10 s
maxconn 3000
#-------------------------------------------------- ---------------------
#HAProxy pārraudzības konfigurācija
#-------------------------------------------------- ---------------------
klausieties haproxy3 uzraudzību * : 8080 #Haproxy Monitoring darbojas portā 8080
režīms http
iespēja uz priekšu
opcija httpclose
statistika iespējot
statistikas šovs-leģendas
statistikas atsvaidzināšana 5s
statistika uri / statistika #URL HAProxy uzraudzībai
stats realm Haproxy\ Statistics
stats auth Password123: Password123 #Lietotājs un parole, lai pieteiktos uzraudzības informācijas panelī
statistikas administrators ja PATIESA
default_backend app-main #Tas pēc izvēles ir paredzēts aizmugursistēmas pārraudzībai
#-------------------------------------------------- ---------------------
# Priekšgala konfigurācija
#-------------------------------------------------- ---------------------
frontend galvenais
saistīt * : 80
opcija http-server-close
iespēja uz priekšu
default_backend app-main
#-------------------------------------------------- ---------------------
# BackEnd round robin kā līdzsvara algoritmu
#-------------------------------------------------- ---------------------
backend app-main
līdzsvara roundrobin #Līdzsvara algoritms
opcija httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Pārbaudiet, vai servera lietojumprogramma ir izveidota un darbojas — 200 statusa kods
serveris serveris_01 3.19.229.234: 80 pārbaudiet #Nginx1
serveris serveris_02 3.17.9.217: 80 pārbaudiet #Nginx2
Noteikti mainiet tīmekļa serveru resursdatora nosaukumu un IP adreses, kā norādīts pēdējās divās rindās. Saglabājiet izmaiņas un izejiet.
Nākamais solis būs Rsyslog konfigurēšana, lai varētu reģistrēt HAProxy statistiku.
# jo / utt / rsyslog.confNoteikti noņemiet komentārus no tālāk norādītajām rindiņām, lai atļautu UDP savienojumus
$ModLoad imudp$UDPServerRun 514
Pēc tam turpiniet un izveidojiet jaunu konfigurācijas failu haproxy.conf
# jo / utt / rsyslog.d / haproxy.confIelīmējiet šīs rindas, saglabājiet un izejiet
local2.=info / bija / žurnāls / haproxy-access.log #Piekļuves žurnālsvietējais2.paziņojums / bija / žurnāls / haproxy-info.log #Informācijai par pakalpojumu — aizmugursistēma, 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 palaidiet un iespējojiet HAProxy
# systemctl start rsyslog# systemctl iespējot rsyslog
Pārbaudiet, vai HAProxy darbojas
# systemctl statuss rsyslog3. darbība. Instalējiet un konfigurējiet Nginx
Tagad vienīgā atlikusī daļa ir Nginx instalēšana. Piesakieties katrā serverī un vispirms atjauniniet sistēmas pakotnes:
# yum atjauninājumsNākamā instalēšana EPEL (papildu pakotnes operētājsistēmai Linux)
# yum instalēt siltā atbrīvošanaLai instalētu Nginx, palaidiet komandu:
# yum instalēt nginxPēc tam palaidiet un iespējojiet Nginx
# systemctl start nginx# systemctl iespējot nginx
Pēc tam abos gadījumos modificēsim failu index.html, lai parādītu vai simulētu, kā slodzes līdzsvarotājs spēj sadalīt tīmekļa trafiku abos serveros.
Serverim_01
# atbalss 'serveris_01. Sveiki! Laipni lūdzam pirmajā tīmekļa serverī' > index.htmlServerim_02
# atbalss 'serveris_02. Sveiki! Laipni lūdzam otrajā tīmekļa serverī' > index.htmlLai izmaiņas stātos spēkā, restartējiet Nginx
# systemctl restartējiet nginx4. darbība: pārbaudiet, vai slodzes līdzsvarotājs darbojas
Beidzot esam pie vietas, kur vēlamies redzēt, vai konfigurācija darbojas. Tāpēc piesakieties slodzes līdzsvarotājā un atkārtoti izpildiet curl komandu
# čokurošanās 3.17.12.132Jums vajadzētu saņemt mainīgu izvadi terminālī, kas parāda index.html vērtību no servera_01 un servera_02
Tagad pārbaudīsim, izmantojot tīmekļa pārlūkprogrammu. Pārlūkojiet sava slodzes balansētāja IP adresi
http: // slodzes balansētāja IP adresePirmajā lapā tiks parādīts saturs no jebkura tīmekļa servera
Tagad atsvaidziniet tīmekļa lapu un pārbaudiet, vai tajā tiek rādīts saturs no cita tīmekļa servera
Perfekti! Slodzes līdzsvars vienādi sadala IP trafiku starp diviem tīmekļa serveriem!
Šī pamācība ir pabeigta par to, kā instalēt un konfigurēt HAProxy operētājsistēmā CentOS 8. Jūsu atsauksmes tiks novērtētas.