Otu esi edobe ihe nha nha dị elu na HAProxy iji jikwaa okporo ụzọ sava webụ


HAProxy na-anọchi anya proxy nnweta dị elu. Ọ bụ ngwa mepere emepe nke edere n'asụsụ mmemme C. A na-eji ngwa HAProxy dị ka TCP/HTTP Load Balancer yana maka ngwọta proxy. Ihe kachasị eji ngwa HAProxy bụ ikesa ọrụ ọrụ n'ofe ọtụtụ sava dịka, sava weebụ, ihe nkesa nchekwa data, wdg si otú a na-emeziwanye arụmọrụ na ntụkwasị obi nke gburugburu ebe obibi.

A na-eji ngwa dị oke mma na ngwa ngwa nke ọtụtụ ụlọ ọrụ ụwa a ma ama nke gụnyere ma ọnweghị oke - Twitter, Reddit, GitHub na Amazon. Ọ dị maka Linux, BSD, Solaris na AIX n'elu ikpo okwu.

N'ime nkuzi a, anyị ga-atụle usoro nke ịtọlite nkwalite ibu dị elu site na iji HAProxy iji chịkwaa okporo ụzọ nke ngwa HTTP (sava webụ) site na ikewa arịrịọ gafee ọtụtụ sava.

Maka edemede a, anyị na-eji ntọhapụ kwụsiri ike nke ụdị HAProxy nke bụ 1.5.10 wepụtara na Disemba 31st 2014. Ọzọkwa anyị na-eji CentOS 6.5 maka nhazi a, mana ntuziaka enyere n'okpuru na-arụkwa ọrụ na CentOS/RHEL/Fedora na nkesa Ubuntu/Debian.

Ebe a ihe nkesa HAProxy load-balancer nwere aha nnabata dị ka websrv.tecmintlocal.comnwere adreesị IP 192.168.0.125.

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

Igwe ọrụ anọ ndị ọzọ na-arụ ọrụ na sava weebụ dị ka 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]

Kwụpụ 1: Wụnye Apache na igwe ndị ahịa

1. Nke mbụ, anyị ga-etinye Apache na sava anọ niile ma kesaa saịtị ọ bụla, maka ịwụnye Apache na sava anọ ebe a, anyị ga-eji iwu na-esonụ.

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

2. Mgbe ị wụnye sava weebụ Apache na igwe ndị ahịa anọ niile, ị nwere ike ịchọpụta onye ọ bụla nke sava ahụ ma Apache na-agba ọsọ site na ịnweta ya site na adreesị IP na ihe nchọgharị.

http://192.168.0.121

Kwụpụ 2: Wụnye HAProxy Server

3. N'ọtụtụ nkesa Linux nke oge a, HAPRoxy nwere ike ịwụnye ngwa ngwa site na ebe nchekwa ndabere site na iji njikwa ngwugwu yum ma ọ bụ apt-get.

Dịka ọmụmaatụ, iji wụnye HAProxy na RHEL/CentOS/Fedora na ụdị Debian/Ubuntu, mee iwu na-esonụ. N'ebe a, etinyere m ngwugwu openssl, n'ihi na anyị ga-edozi HAProxy na nkwado SSL na NON-SSL.

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

Rịba ama: Na Debian Whezzy 7.0, anyị kwesịrị ime ka ebe nchekwa azụ azụ site na ịgbakwunye faịlụ ọhụrụ backports.list n'okpuru /etc/apt/sources.list.d/ ndekọ na ọdịnaya ndị a.

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

Na-esote, melite nchekwa data nchekwa ma wụnye HAProxy.

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

Kwụpụ 3: Hazie ndekọ ndekọ HAProxy

4. Na-esote, anyị kwesịrị ime ka atụmatụ ntinye aka na HAProxy maka nkwụsị n'ọdịnihu. Mepee faịlụ nhazi HAProxy bụ isi '/etc/haproxy/haproxy.cfg'na nhọrọ nchịkọta nhọrọ gị.

# vim /etc/haproxy/haproxy.cfg

Na-esote, soro ntuziaka distro-kpọmkwem ka ịhazi atụmatụ ndekọ na HAProxy.

N'okpuru #Global settings, mee ka ahịrị na-esonụ.

log         127.0.0.1 local2

N'okpuru #Global settings, dochie ahịrị ndị a,

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

Ya na,

log         127.0.0.1 local2

5. Ọzọ, anyị kwesịrị ime ka UDP syslog nnabata na '/etc/rsyslog.conf' faịlụ nhazi iji kewaa faịlụ ndekọ maka HAProxy n'okpuru /var/logndekọ. Mepee faịlụ 'rsyslog.conf' gị site na nhọrọ nchịkọta akụkọ gị.

# vim /etc/rsyslog.conf

Uncommnet ModLoad na UDPServerRun, ebe a sava anyị ga-ege ntị na Port 514 ịnakọta ndekọ n'ime syslog.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Ọzọ, anyị kwesịrị ịmepụta faịlụ dị iche 'haproxy.conf' n'okpuru '/etc/rsyslog.d/' ndekọ iji hazie faịlụ ndekọ dị iche iche.

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

Tinye ahịrị na-esonụ na faịlụ emepụtara ọhụrụ.

local2.*	/var/log/haproxy.log

N'ikpeazụ, malitegharịa ọrụ rsyslog ka imelite mgbanwe ọhụrụ.

# service rsyslog restart