Kā iestatīt augstas pieejamības slodzes līdzsvarotāju ar HAProxy, lai kontrolētu tīmekļa servera trafiku
HAProxy nozīmē augstas pieejamības starpniekserveri. Tā ir bezmaksas un atvērtā koda lietojumprogramma, kas rakstīta C programmēšanas valodā. HAProxy lietojumprogramma tiek izmantota kā TCP/HTTP slodzes līdzsvarotājs un starpniekservera risinājumiem. HAProxy lietojumprogrammas visizplatītākā izmantošana ir darba slodzes sadalīšana vairākos serveros, piemēram, tīmekļa serverī, datu bāzes serverī utt., Tādējādi uzlabojot servera vides vispārējo veiktspēju un uzticamību.
Ļoti efektīvu un ātru lietojumprogrammu izmanto daudzas pasaules slavenās organizācijas, tostarp, bet ne tikai, - Twitter, Reddit, GitHub un Amazon. Tas ir pieejams Linux, BSD, Solaris un AIX platformām.
Šajā apmācībā mēs apspriedīsim augstas pieejamības slodzes līdzsvarotāja iestatīšanas procesu, izmantojot HAProxy, lai kontrolētu HTTP bāzes lietojumprogrammu (tīmekļa serveru) trafiku, atdalot pieprasījumus vairākos serveros.
Šajā rakstā mēs izmantojam jaunāko stabilo HAProxy versijas versiju, ti, 1.5.10, kas izlaista 2014. gada 31. decembrī. Un šim iestatījumam mēs izmantojam arī CentOS 6.5, taču tālāk sniegtie norādījumi darbojas arī vietnē CentOS/RHEL/Fedora un Ubuntu/Debian izplatījumi.
Šeit mūsu slodzes līdzsvarotāja HAProxy serveris, kura resursdatora nosaukums ir websrv.tecmintlocal.com ar IP adresi 192.168.0.125.
Operating System : CentOS 6.5 IP Address : 192.168.0.125 Hostname : websrv.tecmintlocal.com
Pārējās četras mašīnas darbojas un darbojas ar tādiem tīmekļa serveriem kā 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]
1. darbība: Apache instalēšana klientu mašīnās
1. Vispirms mums ir jāinstalē Apache visos četros serveros un jādalās jebkurā vietnē, lai Apache instalētu visos četros serveros, šeit mēs izmantosim šādu komandu.
# yum install httpd [On RedHat based Systems] # apt-get install apache2 [On Debian based Systems]
2. Pēc Apache tīmekļa servera instalēšanas visās četrās klientu mašīnās ikvienam no servera varat pārbaudīt, vai Apache darbojas, pārlūkprogrammā piekļūstot tam, izmantojot IP adresi.
http://192.168.0.121
2. darbība: HAProxy Server instalēšana
3. Lielākajā daļā mūsdienu mūsdienu Linux distribūciju HAPRoxy var viegli instalēt no noklusējuma bāzes krātuves, izmantojot noklusējuma pakotņu pārvaldnieku yum vai apt-get.
Piemēram, lai instalētu HAProxy RHEL/CentOS/Fedora un Debian/Ubuntu versijās, palaidiet šo komandu. Šeit esmu iekļāvis arī openssl pakotni, jo mēs iestatīsim HAProxy ar SSL un NON-SSL atbalstu.
# yum install haproxy openssl-devel [On RedHat based Systems] # apt-get install haproxy [On Debian based Systems]
Piezīme: Debian Whezzy 7.0 mums jāiespējo backports krātuve, direktorijā “/etc/apt/sources.list.d/” pievienojot jaunu failu backports.list ar šādu saturu.
# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list
Pēc tam atjauniniet krātuves datu bāzi un instalējiet HAProxy.
# apt-get update # apt-get install haproxy -t wheezy-backports
3. darbība: konfigurējiet HAProxy žurnālus
4. Tālāk mums ir jāiespējo reģistrēšanas funkcija HAProxy turpmākai atkļūdošanai. Atveriet galveno HAProxy konfigurācijas failu ‘/etc/haproxy/haproxy.cfg’ ar redaktora izvēli.
# vim /etc/haproxy/haproxy.cfg
Pēc tam izpildiet distro specifiskos norādījumus, lai konfigurētu reģistrēšanas funkciju HAProxy.
Sadaļā #Global settings iespējojiet šo rindu.
log 127.0.0.1 local2
Sadaļā #Global settings aizstājiet šīs rindas:
log /dev/log local0 log /dev/log local1 notice
Ar,
log 127.0.0.1 local2
5. Pēc tam mums jāiespējo UDP syslog saņemšana konfigurācijas failā ‘/etc/rsyslog.conf’, lai atdalītu HAProxy žurnālfailus direktorijā /var/log . Atveriet failu ‘rsyslog.conf’, izvēloties redaktoru.
# vim /etc/rsyslog.conf
Uncommnet ModLoad un UDPServerRun, šeit mūsu serveris klausīsies 514 portu, lai apkopotu žurnālus syslog.
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514
6. Tālāk mums jāizveido atsevišķs fails ‘haproxy.conf’ zem direktorija ‘/etc/rsyslog.d/’, lai konfigurētu atsevišķus žurnālfailus.
# vim /etc/rsyslog.d/haproxy.conf
Pievienojiet šādu rindu jaunizveidotajam failam.
local2.* /var/log/haproxy.log
Visbeidzot restartējiet pakalpojumu rsyslog, lai atjauninātu jaunās izmaiņas.
# service rsyslog restart