Twaqqif ta' Ibbilanċjar tat-Tagħbija ta' Web Servers bl-użu ta' POUND fuq RHEL/CentOS
POUUND huwa programm ta 'ibbilanċjar tat-tagħbija żviluppat mill-Kumpanija ITSECURITY. Hija għodda ħafifa ta' prokura inversa ta' sors miftuħ li tista' tintuża bħala bilanċjar tat-tagħbija tal-web-server biex tqassam it-tagħbija fost diversi servers. Hemm diversi vantaġġi li POUUND tagħti lill-utent aħħari li huma konvenjenti ħafna u jagħmel ix-xogħol tajjeb.
- Jappoġġja hosts virtwali.
- Konfigurabbli.
- Meta server backend falla jew jiġi rkuprat minn ħsara, jiskoprih awtomatikament u jibbaża d-deċiżjonijiet tiegħu dwar l-ibbilanċjar tat-tagħbija skont dan.
- Jirrifjuta talbiet mhux korretti.
- L-ebda browser jew servers tal-web speċifikati.
Ejja nagħtu ħarsa lejn kif tista 'tagħmel dan il-hack.
L-ewwelnett ser ikollok bżonn xenarju għal fehim aħjar dwar kif dan isir. Allura se nuża xenarju fejn hemm żewġ webservers u server wieħed gateway li jeħtieġ li jibbilanċja t-talbiet jasal għal server gateway għal servers web.
Pound Gateway Server : 172.16.1.222 Web Server 01 : 172.16.1.204 Web Server 02 : 192.168.1.161
Pass 1: Installa Pound Load Balancer fuq Gateway Server
1. L-eħfef mod biex tinstalla Pound huwa li tuża pakketti RPM miġbura minn qabel, tista 'ssib RPMs għal distribuzzjonijiet ibbażati fuq RedHat fuq:
- http://www.invoca.ch/pub/packages/pound/
Alternattivament, Pound jista 'jiġi installat faċilment mir-repożitorju EPEL kif muri hawn taħt.
# yum install epel-release # yum install Pound
Wara li Pound installat, tista 'tivverifika jekk hijiex installata billi toħroġ dan il-kmand.
# rpm –qa |grep Pound
2. It-tieni nett, għandek bżonn żewġ web-servers biex tibbilanċja t-tagħbija u kun żgur li għandek identifikaturi ċari sabiex tittestja l-konfigurazzjoni tal-lira taħdem sew.
Hawnhekk għandi żewġ servers li għandhom indirizzi IP 172.16.1.204 u 192.168.1.161.
Għal faċilità ta 'użu, ħloqt python SimpleHTTPServer biex noħloq webserver instantanju fuq iż-żewġ servers. Aqra dwar python SimpleHTTPServer
Fix-xenarju tiegħi, għandi l-webserver01 tiegħi jaħdem fuq 172.16.1.204 permezz tal-port 8888 u l-webserver02 jaħdem fuq 192.168.1.161 permezz tal-port 5555.
Pass 2: Ikkonfigura Pound Load Balancer
3. Issa wasal iż-żmien li jsiru l-konfigurazzjonijiet. Ladarba tkun installat il-lira b'suċċess, toħloq il-fajl tal-konfigurazzjoni tal-lira f'/etc, jiġifieri pound.cfg
.
Irridu neditjaw is-server u d-dettalji tal-backend sabiex nibbilanċjaw it-tagħbija fost il-webservers. Mur għal /etc u iftaħ il-fajl pound.cfg
għall-editjar.
# vi /etc/pound.cfg
Agħmel il-bidliet kif issuġġerit hawn taħt.
ListenHTTP Address 172.16.1.222 Port 80 End ListenHTTPS Address 172.16.1.222 Port 443 Cert "/etc/pki/tls/certs/pound.pem" End Service BackEnd Address 172.16.1.204 Port 8888 End BackEnd Address 192.168.1.161 Port 5555 End End
Dan huwa kif il-fajl pound.cfg tiegħi jidher.
Taħt it-tags \ListenHTTP u \ListenHTTPS, trid iddaħħal l-indirizz IP tas-server li installajt POUND.
B'mod awtomatiku server jieħu ħsieb it-talbiet HTTP għalkemm port 80 u talbiet HTTPS permezz tal-port 443. Taħt it-tikketta \Servizz, tista' żżid kwalunkwe ammont ta' tikketti sekondarji msejħa \BackEnd. It-tags BackEnd għandhom l-indirizzi IP u n-numri tal-port li qed jaħdmu fuqhom is-servers tal-web.
Issa ssejvja l-fajl wara li teditjah b'mod korrett u terġa 'tibda s-servizz tal-POUND billi toħroġ waħda mill-kmandi ta' hawn taħt.
# /etc/init.d/pound restart OR # service pound restart OR # systemctl restart pound.service
4. Issa wasal iż-żmien li tiċċekkja. Iftaħ żewġ web browsers biex tivverifika jekk il-konfigurazzjonijiet tagħna jaħdmux sew. Fil-bar tal-indirizz ittajpja l-indirizz IP tal-gateway tal-POUND tiegħek u ara x'jidher.
L-ewwel talba għandha tgħabbi l-ewwel webserver01 u t-tieni talba mill-web browser l-ieħor għandha tgħabbi t-tieni webserver02.
Barra minn hekk, aħseb f'xenarju bħal jekk għandek żewġ webservers biex tgħabbi l-bilanċ u waħda mill-prestazzjoni tas-server hija tajba u l-prestazzjoni ta 'ħaddieħor mhix daqshekk tajba.
Allura meta l-ibbilanċjar tat-tagħbija bejniethom, ser ikollok tikkunsidra għal liema server trid tpoġġi aktar piż fuq. Ovvjament għas-server bi specs ta 'prestazzjoni tajba.
Biex tibbilanċja t-tagħbija bħal dik, għandek biss iżżid parametru wieħed ġewwa l-fajl pound.cfg
. Ejja nagħtu ħarsa lejha.
Aħseb server 192.168.1.161:5555 huwa l-aħjar server. Imbagħad għandek bżonn tpoġġi aktar talbiet fluss għal dak is-server. Taħt it-tikketta \BackEnd li hija kkonfigurata għas-server 192.168.1.161, żid il-parametru \Prijorità qabel it-tikketta Tmiem.
Ħares lejn l-eżempju hawn taħt.
Il-firxa li nistgħu nużaw għall-parametru \Prijorità hija bejn 1-9. Jekk ma niddefinixxuhiex, jiġi assenjat valur default ta' 5.
Imbagħad it-tagħbija tkun ibbilanċjata b'mod ugwali. Jekk niddefinixxu n-numru ta 'Prijorità, POUND se jgħabbi s-server b'numru ta' prijorità ogħla aktar spiss. Allura f'dan il-każ, 192.168.1.161:5555 se jitgħabba aktar spiss mis-server 172.16.1.204:8888.
Stadju 3: Ippjanar Tkissir ta 'Emerġenza
Tag ta 'Emerġenza: Din it-tikketta tintuża biex tgħabbi server f'każ li s-servers kollha ta' wara jkunu mejta. Tista 'żżidha qabel l-aħħar tikketta Tmiem ta' pound.cfg kif ġej.
“Emergency Address 192.168.5.10 Port 8080 End”
6. LIERA dejjem iżżomm rekord ta 'liema servers backend huma ħajjin u liema mhumiex. Nistgħu niddefinixxu wara kemm-il sekondi PUND għandha tikkontrolla s-servers backend billi żżid il-parametru \Alive f'pound.cfg.
Tista 'tuża l-parametru bħala \Alive 30 biex issettjah għal 30 sekonda. Pound se tiddiżattiva temporanjament is-servers backend li mhux qed jirrispondu. Meta ngħidu li s-server li ma jirrispondix jista' jkun mejjet jew ma jistax jistabbilixxi konnessjoni f'dak il-mument.
POUND se jiċċekkja s-server backend b'diżabilità wara kull perjodu ta 'żmien li ddefinijt fil-fajl pound.cfg f'każ li s-server jista' jistabbilixxi konnessjoni, allura POUND jista 'jerġa' jerġa' jaħdem mas-server.
7. POUND daemon se jiġi ttrattat mill-kmand poundctl. Billi jkollna dan m'għandniex bżonn neditjaw il-fajl pound.cfg u nistgħu noħorġu Listner Server, servers BackEnd u sessjonijiet eċċ permezz ta 'kmand wieħed.
Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]
- -c jiddefinixxi l-passaġġ għas-socket tiegħek.
- -L/-l jiddefinixxi s-semmiegħ tal-arkitettura tiegħek.
- -S/-s jiddefinixxi s-servizz.
- -B/-b jiddefinixxi s-servers backend.
Ara l-paġni man poundctl għal aktar informazzjoni.
Nittama li tgawdi dan il-hack u tiskopri aktar għażliet dwar dan. Ħossok liberu li tikkummenta hawn taħt għal kwalunkwe suġġeriment u ideat. Żomm konness ma' Tecmint għal How To's handy u l-aktar reċenti.