Kif Twaqqaf Load Balancer ta' Disponibbiltà Għolja b'HAProxy biex tikkontrolla t-Traffiku tal-Web Server


HAProxy tfisser prokura ta' Disponibbiltà Għolja. Hija applikazzjoni b'xejn u open source miktuba fil-Lingwa ta' programmar C. L-applikazzjoni HAProxy tintuża bħala TCP/HTTP Load Balancer u għal Soluzzjonijiet ta' prokura. L-aktar użu komuni tal-applikazzjoni HAProxy huwa li tqassam il-piż tax-xogħol fuq servers multipli eż., server tal-web, server tad-database, eċċ biex b'hekk tittejjeb il-prestazzjoni ġenerali u l-affidabbiltà tal-ambjent tas-server.

L-applikazzjoni effiċjenti ħafna u veloċi tintuża minn ħafna mill-organizzazzjonijiet reputazzjoni dinjija li tinkludi iżda mhux limitata għal - Twitter, Reddit, GitHub u Amazon. Huwa disponibbli għall-pjattaforma Linux, BSD, Solaris u AIX.

F'dan it-tutorja, ser niddiskutu l-proċess tat-twaqqif ta 'bilanċjar tat-tagħbija ta' disponibbiltà għolja bl-użu ta 'HAProxy biex tikkontrolla t-traffiku ta' applikazzjonijiet ibbażati fuq HTTP (servers tal-web) billi tissepara t-talbiet fuq servers multipli.

Għal dan l-artikolu, qed nużaw ir-rilaxx stabbli l-aktar riċenti tal-verżjoni HAProxy jiġifieri 1.5.10 rilaxxata fil-31 ta 'Diċembru 2014. U wkoll qed nużaw CentOS 6.5 għal din is-setup, iżda l-istruzzjonijiet mogħtija hawn taħt jaħdmu wkoll fuq CentOS/RHEL/ Distribuzzjonijiet Fedora u Ubuntu/Debian.

Hawnhekk is-server HAProxy tal-load-balancer tagħna li għandu l-isem tal-host bħala websrv.tecmintlocal.com bl-indirizz IP 192.168.0.125.

Operating System	:	CentOS 6.5
IP Address		: 	192.168.0.125
Hostname		: 	websrv.tecmintlocal.com

L-erba' magni l-oħra qed jaħdmu b'servers tal-web bħal Apache.

Web Server #1 :	CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.tecmintlocal.com]
Web Server #2 :	CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.tecmintlocal.com]
Web Server #3 :	CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.tecmintlocal.com]
Web Server #4 :	CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.tecmintlocal.com]

Pass 1: Installazzjoni ta 'Apache fuq Magni Klijent

1. L-ewwel irridu ninstallaw Apache fl-erba 'server kollha u naqsmu kwalunkwe wieħed mis-sit, għall-installazzjoni ta' Apache fl-erba' servers kollha hawn aħna se nużaw il-kmand li ġej.

# yum install httpd		[On RedHat based Systems]
# apt-get install apache2	[On Debian based Systems]

2. Wara l-installazzjoni tas-server tal-web Apache fuq l-erba 'magni tal-klijenti kollha, tista' tivverifika lil xi ħadd mis-server jekk Apache huwiex qed jaħdem billi taċċessah permezz tal-indirizz IP fil-browser.

http://192.168.0.121

Pass 2: Installazzjoni ta 'HAProxy Server

3. Fil-biċċa l-kbira tad-distribuzzjonijiet moderni tal-Linux tal-lum, HAPRoxy jista 'jiġi installat faċilment mir-repożitorju bażi default bl-użu tal-maniġer tal-pakkett default yum jew apt-get.

Pereżempju, biex tinstalla HAProxy fuq verżjonijiet RHEL/CentOS/Fedora u Debian/Ubuntu, mexxi l-kmand li ġej. Hawnhekk inkludejt il-pakkett openssl ukoll, għax se nistabbilixxu HAProxy b'appoġġ SSL u NON-SSL.

# yum install haproxy openssl-devel	[On RedHat based Systems]
# apt-get install haproxy		[On Debian based Systems]

Nota: Fuq Debian Whezzy 7.0, irridu nippermettu r-repożitorju tal-backports billi nżidu fajl ġdid backports.list taħt direttorju “/etc/apt/sources.list.d/” bil-kontenut li ġej.

# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list

Sussegwentement, aġġorna d-database tar-repożitorju u installa HAProxy.

# apt-get update
# apt-get install haproxy -t wheezy-backports

Pass 3: Ikkonfigura l-HAProxy Logs

4. Sussegwentement, għandna bżonn nippermettu l-karatteristika tal-illoggjar f'HAProxy għal debugging futur. Iftaħ il-fajl ewlieni tal-konfigurazzjoni HAProxy '/etc/haproxy/haproxy.cfg' bl-għażla tal-editur tiegħek.

# vim /etc/haproxy/haproxy.cfg

Sussegwentement, segwi l-istruzzjonijiet speċifiċi għad-distro biex tikkonfigura l-karatteristika tal-illoggjar f'HAProxy.

Taħt #Settings Globali, ippermetti l-linja li ġejja.

log         127.0.0.1 local2

Taħt #Settings globali, ibdel il-linji li ġejjin,

log /dev/log        local0
log /dev/log        local1 notice 

Ma',

log         127.0.0.1 local2

5. Sussegwentement, irridu nippermettu r-riċeviment tas-syslog UDP fil-fajl ta 'konfigurazzjoni '/etc/rsyslog.conf' biex nisseparaw il-fajls tal-log għal HAProxy taħt direttorju /var/log. Iftaħ il-fajl tiegħek 'rsyslog.conf' bl-għażla tal-editur tiegħek.

# vim /etc/rsyslog.conf

Uncommnet ModLoad u UDPServerRun, Hawnhekk is-Server tagħna se jisma 'Port 514 biex jiġbor ir-zkuk fis-syslog.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Sussegwentement, irridu noħolqu fajl separat 'haproxy.conf' taħt id-direttorju '/etc/rsyslog.d/' biex tikkonfigura fajls ta 'log separati.

# vim /etc/rsyslog.d/haproxy.conf

Ehmeż il-linja li ġejja mal-fajl li għadu kif inħoloq.

local2.*	/var/log/haproxy.log

Fl-aħħarnett, ibda mill-ġdid is-servizz rsyslog biex taġġorna l-bidliet ġodda.

# service rsyslog restart