Bii o ṣe le Ṣeto Iwontunwosi Fifuye Wiwa-giga pẹlu HAProxy lati Ṣakoso Ijabọ Olupin Wẹẹbu


HAProxy duro fun aṣoju Wiwa Giga. O jẹ ohun elo orisun ọfẹ ati ṣii ti a kọ sinu Ede siseto C. A lo ohun elo HAProxy bi TCP/HTTP Load Balancer ati fun Awọn Solusan aṣoju. Lilo ti o wọpọ julọ ti ohun elo HAProxy ni lati pin kaakiri iṣẹ ṣiṣe kọja awọn olupin pupọ fun apẹẹrẹ, olupin wẹẹbu, olupin data data, ati bẹbẹ lọ nitorinaa imudarasi iṣẹ gbogbogbo ati igbẹkẹle ti ayika olupin.

Ohun elo ti o munadoko ati iyara ni a lo nipasẹ ọpọlọpọ awọn agbari ti a gbajumọ ni agbaye eyiti o pẹlu ṣugbọn kii ṣe opin si - Twitter, Reddit, GitHub ati Amazon. O wa fun Lainos, BSD, Solaris ati pẹpẹ AIX.

Ninu ẹkọ yii, a yoo jiroro ilana ti siseto iwọntunwọnsi fifuye wiwa to ga nipa lilo HAProxy lati ṣakoso ijabọ awọn ohun elo ti o da lori HTTP (awọn olupin wẹẹbu) nipa yiya sọtọ awọn ibeere kọja awọn olupin pupọ.

Fun nkan yii, a nlo idasilẹ iduroṣinṣin to ṣẹṣẹ ti ẹya HAProxy ie 1.5.10 ti o jade ni Oṣu kejila ọjọ 31st 2014. Ati pe tun a nlo CentOS 6.5 fun iṣeto yii, ṣugbọn awọn itọnisọna ti a fun ni isalẹ tun ṣiṣẹ lori CentOS/RHEL/Awọn pinpin Fedora ati Ubuntu/Debian.

Eyi ni olupin-iwontunwosi HAProxy olupin wa ti o ni orukọ ogun bi websrv.tecmintlocal.com pẹlu adiresi IP 192.168.0.125.

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

Awọn ẹrọ mẹrin miiran wa ni oke ati nṣiṣẹ pẹlu awọn olupin wẹẹbu bii 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]

Igbesẹ 1: Fifi Afun lori Awọn ẹrọ Onibara

1. Ni akọkọ a ni lati fi Apache sori ẹrọ ni gbogbo olupin mẹrin ati pin eyikeyi eyikeyi ti aaye, fun fifi Afun ni gbogbo olupin mẹrin nibi ti a nlo lilo aṣẹ atẹle.

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

2. Lẹhin fifi sori ẹrọ olupin ayelujara Apache lori gbogbo awọn ẹrọ alabara mẹrin, o le rii daju ẹnikẹni ti olupin boya Apache n ṣiṣẹ nipa iraye si nipasẹ adirẹsi IP ninu ẹrọ lilọ kiri ayelujara.

http://192.168.0.121

Igbese 2: Fifi Server HaProxy sii

3. Ninu ọpọlọpọ awọn pinpin kaakiri Linux ti ode oni, HAPRoxy le fi sori ẹrọ ni rọọrun lati ibi ipamọ aiyipada nipa lilo oluṣakoso package aiyipada yum tabi apt-get.

Fun apẹẹrẹ, lati fi HAProxy sori RHEL/CentOS/Fedora ati awọn ẹya Debian/Ubuntu, ṣiṣe aṣẹ atẹle. Nibi Mo ti ṣafikun package openssl paapaa, nitori a yoo ṣeto HAProxy pẹlu SSL ati atilẹyin NON-SSL.

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

Akiyesi: Lori Debian Whezzy 7.0, a nilo lati jẹki ibi ipamọ awọn apo-iwe nipasẹ fifi faili tuntun kun backports.list labẹ itọsọna “/etc/apt/sources.list.d/” pẹlu akoonu atẹle.

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

Nigbamii, ṣe imudojuiwọn ibi ipamọ data ati fi HAProxy sii.

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

Igbesẹ 3: Tunto Awọn akọọlẹ HAProxy

4. Itele, a nilo lati mu ẹya ẹya gedu ṣiṣẹ ni HAProxy fun n ṣatunṣe aṣiṣe ọjọ iwaju. Ṣii faili atunto HAProxy akọkọ '/etc/haproxy/haproxy.cfg' pẹlu yiyan olootu rẹ.

# vim /etc/haproxy/haproxy.cfg

Nigbamii, tẹle awọn itọnisọna pato distro lati tunto ẹya iforukọsilẹ ni HAProxy.

Labẹ # Eto agbaye , jẹ ki laini atẹle yii mu ṣiṣẹ.

log         127.0.0.1 local2

Labẹ # Eto agbaye , rọpo awọn ila wọnyi,

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

Pẹlu,

log         127.0.0.1 local2

5. Nigbamii ti, a nilo lati mu gbigba UDP syslog ṣiṣẹ ni ‘/etc/rsyslog.conf‘ faili iṣeto lati ya awọn faili akọọlẹ fun HAProxy labẹ itọsọna /var/log . Ṣii faili rẹ ‘rsyslog.conf’ pẹlu yiyan olootu rẹ.

# vim /etc/rsyslog.conf

Uncommnet ModLoad ati UDPServerRun, Nibi Server wa yoo tẹtisi Port 514 lati ṣajọ awọn akọọlẹ sinu syslog.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Nigbamii ti, a nilo lati ṣẹda faili ọtọtọ 'haproxy.conf' labẹ '/etc/rsyslog.d/' itọsọna lati tunto awọn faili log lọtọ.

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

Ṣafikun ila atẹle si faili tuntun ti o ṣẹṣẹ ṣẹda.

local2.*	/var/log/haproxy.log

Lakotan, tun bẹrẹ iṣẹ rsyslog lati ṣe imudojuiwọn awọn ayipada tuntun.

# service rsyslog restart