Giunsa ang Pag-setup sa High-Availability Load Balancer nga adunay HAProxy aron makontrol ang Trapiko sa Web Server


Ang HAProxy nagbarug alang sa High Availability proxy. Kini usa ka Libre ug bukas nga gigikanan nga aplikasyon nga gisulat sa C programming Language. Ang aplikasyon sa HAProxy gigamit isip TCP/HTTP Load Balancer ug para sa proxy Solutions. Ang labing kasagaran nga paggamit sa aplikasyon sa HAProxy mao ang pag-apod-apod sa workload sa daghang mga server e.g., web server, database server, ug uban pa aron mapaayo ang kinatibuk-ang pasundayag ug kasaligan sa palibot sa server.

Ang labi ka episyente ug paspas nga aplikasyon gigamit sa kadaghanan sa gibantog nga organisasyon sa kalibutan nga naglakip apan dili limitado sa - Twitter, Reddit, GitHub ug Amazon. Anaa kini alang sa Linux, BSD, Solaris ug AIX nga plataporma.

Sa kini nga panudlo, atong hisgutan ang proseso sa pag-set up sa usa ka taas nga magamit nga load balancer gamit ang HAProxy aron makontrol ang trapiko sa mga aplikasyon nga nakabase sa HTTP (mga web server) pinaagi sa pagbulag sa mga hangyo sa daghang mga server.

Alang sa kini nga artikulo, gigamit namon ang labing bag-o nga stable nga pagpagawas sa bersyon sa HAProxy ie 1.5.10 nga gipagawas kaniadtong Disyembre 31st 2014. Ug gigamit usab namon ang CentOS 6.5 alang niini nga pag-setup, apan ang gihatag nga mga panudlo sa ubos magamit usab sa CentOS/RHEL/Mga distribusyon sa Fedora ug Ubuntu/Debian.

Dinhi ang among load-balancer HAProxy server nga adunay hostname nga websrv.tecmintlocal.com nga adunay IP address 192.168.0.125.

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

Ang ubang upat ka mga makina nagdagan ug nagdagan sa mga web server sama sa 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]

Lakang 1: Pag-instalar sa Apache sa mga Client Machines

1. Una kinahanglan natong i-install ang Apache sa tanan nga upat ka server ug ipaambit ang bisan unsang site, alang sa pag-instalar sa Apache sa tanan nga upat ka server dinhi atong gamiton ang mosunod nga sugo.

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

2. Human ma-install ang Apache web server sa tanan nga upat ka mga makina sa kliyente, mahimo nimong pamatud-an ang bisan kinsa sa server kung ang Apache nagdagan pinaagi sa pag-access niini pinaagi sa IP address sa browser.

http://192.168.0.121

Lakang 2: Pag-instalar sa HAProxy Server

3. Sa kadaghanan sa modernong mga distribusyon sa Linux karon, ang HAPRoxy dali nga ma-install gikan sa default base repository gamit ang default package manager yum o apt-get.

Pananglitan, aron i-install ang HAProxy sa RHEL/CentOS/Fedora ug Debian/Ubuntu nga mga bersyon, padagana ang mosunod nga sugo. Dinhi gilakip ko usab ang openssl nga pakete, tungod kay among i-setup ang HAProxy nga adunay suporta sa SSL ug NON-SSL.

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

Mubo nga sulat: Sa Debian Whezzy 7.0, kinahanglan natong palihokon ang backports repository pinaagi sa pagdugang og bag-ong file backports.list ubos sa “/etc/apt/sources.list.d/” nga direktoryo nga adunay mosunod nga sulod.

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

Sunod, i-update ang database sa repository ug i-install ang HAProxy.

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

Lakang 3: I-configure ang HAProxy Logs

4. Sunod, kinahanglan natong i-enable ang logging feature sa HAProxy para sa umaabot nga debugging. Ablihi ang nag-unang HAProxy configuration file '/etc/haproxy/haproxy.cfg' uban sa imong gipili nga editor.

# vim /etc/haproxy/haproxy.cfg

Sunod, sunda ang distro-specific nga mga instruksyon aron ma-configure ang logging feature sa HAProxy.

Ubos sa #Global settings, i-enable ang mosunod nga linya.

log         127.0.0.1 local2

Ubos sa #Global settings, ilisan ang mosunod nga mga linya,

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

uban,

log         127.0.0.1 local2

5. Sunod, kinahanglan namong i-enable ang UDP syslog reception sa '/etc/rsyslog.conf' configuration file aron mabulag ang log files para sa HAProxy ubos sa /var/log directory. Ablihi ang imong 'rsyslog.conf' file gamit ang imong gipili nga editor.

# vim /etc/rsyslog.conf

Uncommnet ModLoad ug UDPServerRun, Dinhi ang among Server maminaw sa Port 514 aron makolekta ang mga troso sa syslog.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Sunod, kinahanglan namong maghimo ug lahi nga file nga 'haproxy.conf' ubos sa '/etc/rsyslog.d/' nga direktoryo aron ma-configure ang separado nga mga file sa log.

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

Idugang ang mosunod nga linya sa bag-ong gibuhat nga file.

local2.*	/var/log/haproxy.log

Sa katapusan, i-restart ang serbisyo sa rsyslog aron ma-update ang bag-ong mga pagbag-o.

# service rsyslog restart