Web Sunucusu Trafiğini Kontrol Etmek İçin 'HAProxy' ile Yüksek Kullanılabilirlik Yük Dengeleyici Nasıl Kurulur


HAProxy Yüksek Kullanılabilirlik proxy'si anlamına gelir. C programlama Dili ile yazılmış Ücretsiz ve açık kaynak kodlu bir uygulamadır. HAProxy uygulaması TCP/HTTP Yük Dengeleyici olarak ve proxy Çözümleri için kullanılır. HAProxy uygulamasının en yaygın kullanımı, iş yükünü web sunucusu, veritabanı sunucusu vb. gibi birden fazla sunucuya dağıtarak sunucu ortamının genel performansını ve güvenilirliğini arttırmaktır.

Oldukça verimli ve hızlı olan bu uygulama, Twitter, Reddit, GitHub ve Amazon dahil ancak bunlarla sınırlı olmamak üzere dünyanın birçok tanınmış kuruluşu tarafından kullanılıyor. Linux, BSD, Solaris ve AIX platformu için mevcuttur.

Bu eğiticide, istekleri birden fazla sunucuya ayırarak HTTP tabanlı uygulamaların (web sunucuları) trafiğini kontrol etmek için HAProxy kullanarak yüksek kullanılabilirliğe sahip bir yük dengeleyici kurma sürecini tartışacağız.

Bu makale için HAProxy'nin en son kararlı sürümünü, yani 31 Aralık 2014'te yayınlanan 1.5.10'u kullanıyoruz. Ayrıca bunun için CentOS 6.5'i kullanıyoruz. Kurulumu gerçekleştirin, ancak aşağıda verilen talimatlar CentOS/RHEL/Fedora ve Ubuntu/Debian dağıtımlarında da çalışır.

Ortam Kurulumum

Burada yük dengeleyici HAProxy sunucumuz, websrv.tecmintlocal.com ana bilgisayar adına ve 192.168.0.125 IP adresine sahip.

HAProxy Sunucu Kurulumu
Operating System	:	CentOS 6.5
IP Address		: 	192.168.0.125
Hostname		: 	websrv.tecmintlocal.com
İstemci Web Sunucuları Kurulumu

Diğer dört makine Apache gibi web sunucularıyla çalışır durumda.

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]

Adım 1: Apache'nin İstemci Makinelere Kurulumu

1. Öncelikle Apache'yi dört sunucunun tamamına kurmalı ve herhangi bir siteyi paylaşmalıyız, Apache'yi dört sunucunun tümüne yüklemek için burada aşağıdaki komutu kullanacağız.

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

2. Apache web sunucusunu dört istemci makinenin tamamına yükledikten sonra, sunucudaki herkesin Apache'nin çalışıp çalışmadığını tarayıcıdaki IP adresi aracılığıyla erişerek doğrulayabilirsiniz.

http://192.168.0.121

Adım 2: HAProxy Sunucusunun Kurulumu

3. Günümüzün modern Linux dağıtımlarının çoğunda HAPRoxy, varsayılan paket yöneticisi yum veya apt-get kullanılarak varsayılan temel depodan kolayca kurulabilir. .

Örneğin, HAProxy'yi RHEL/CentOS/Fedora ve Debian/Ubuntu sürümlerine kurmak için aşağıdaki komutu çalıştırın. HAProxy'yi SSL ve NON-SSL desteğiyle kuracağımız için buraya openssl paketini de ekledim.

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

Not: Debian Whezzy 7.0'da, yeni bir backports.list dosyası ekleyerek backports deposunu etkinleştirmemiz gerekir. aşağıdaki içeriğe sahip “/etc/apt/sources.list.d/” dizini altında.

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

Daha sonra depo veritabanını güncelleyin ve HAProxy'yi yükleyin.

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

3. Adım: HAProxy Günlüklerini Yapılandırma

4. Daha sonra, gelecekteki hata ayıklama için HAProxy'de günlük kaydı özelliğini etkinleştirmemiz gerekiyor. Ana HAProxy yapılandırma dosyasını '/etc/haproxy/haproxy.cfg' seçtiğiniz düzenleyiciyle açın.

vim /etc/haproxy/haproxy.cfg

Daha sonra HAProxy'deki günlük tutma özelliğini yapılandırmak için dağıtıma özel talimatları izleyin.

RHEL/CentOS/Fedora'da

#Global ayarlar altında aşağıdaki satırı etkinleştirin.

log         127.0.0.1 local2
Ubuntu/Debian'da

#Global ayarlar altında aşağıdaki satırları değiştirin:

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

İle,

log         127.0.0.1 local2

5. Daha sonra, /var/log altında HAProxy için günlük dosyalarını ayırmak üzere '/etc/rsyslog.conf' yapılandırma dosyasında UDP sistem günlüğü alımını etkinleştirmemiz gerekir. dizini. 'rsyslog.conf' dosyanızı seçtiğiniz düzenleyiciyle açın.

vim /etc/rsyslog.conf

Uncommnet ModLoad ve UDPServerRun, Burada Sunucumuz, günlükleri sistem günlüğüne toplamak için Port 514'ü dinleyecektir.

Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Daha sonra, yapılandırmak için '/etc/rsyslog.d/' dizini altında ayrı bir 'haproxy.conf' dosyası oluşturmamız gerekiyor ayrı günlük dosyaları.

vim /etc/rsyslog.d/haproxy.conf

Yeni oluşturulan dosyaya aşağıdaki satırı ekleyin.

local2.*	/var/log/haproxy.log

Son olarak yeni değişiklikleri güncellemek için rsyslog hizmetini yeniden başlatın.

service rsyslog restart