2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1: Tapauksen yleiskatsaus
2: Ennakkotieto
3: Tapausympäristö
[root@localhost ~]# yum -y asentaa pcre-devel zlib-devel gcc*
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.0]# tee && tee asennus
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.12.0]# cd /usr/local/nginx/html/0
[root@localhost html]# echo "test web01" > test.html
[root@localhost ~]# systemctl pysäyttää palomuuri
[root@localhost ~]# nginx -t
[root@localhost ~]# nginx ##Aloita nginx-prosessi
[root@localhost ~]# netstat -anpt | grep nginx
[root@localhost ~]# systemctl pysäyttää palomuuri
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y asennus pcre-devel bzip2-devel gcc*
[root@localhost ~]# tar zxvf haproxy-1.5.19.tar.gz
[root@localhost ~]# cd haproxy-1.5.19/
[root@localhost haproxy-1.5.19]# make TARGET=linux26
[root@localhost haproxy-1.5.19]# tee asennus
Huomautus:
linux22 Linux 2.2:lle
linux24 Linux 2.4:lle ja uudemmille (oletus)
linux24e Linux 2.4:lle, jossa on tuki toimivalle epollille (> 0.21)
linux26 Linux 2.6:lle ja uudemmille
solaris Solaris 8:lle tai 10:lle (muut testaamattomat)
freebsd for FreeBSD 5 - 8.0 (muut testaamattomat)
openbsd OpenBSD 3.1 - 4.6 (muut testaamattomat)
cygwin Cygwinille
yleinen mille tahansa muulle käyttöjärjestelmälle.
mukautettu säätämään jokaista asetusta manuaalisesti
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy
[root@localhost haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/
[root@localhost haproxy-1.5.19]# cp examples/haproxy.init /etc/init.d/haproxy
[root@localhost haproxy-1.5.19]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@localhost haproxy-1.5.19]# chmod +x /etc/init.d/haproxy
[root@localhost ~]# chkconfig --add haproxy
(3) Haproxy-kokoonpanon esittely
[root@localhost haproxy-1.5.19]# vi /etc/haproxy/haproxy.cfg
maailmanlaajuisesti
loki 127.0.0.1 local0
loki 127.0.0.1 local1 ilmoitus
#log loghost local0 tiedot
maxconn 4096
uid 99
gid 99
demoni
#debug
#hiljainen
oletusarvot
kirjaudu maailmanlaajuisesti
tila http
vaihtoehto httplog
vaihtoehto dontlognull
yrittää uudelleen 3
#uudelleenlähetys
maxconn 2000
jatkoaika 5000
ilmaston yli 50 000
srvtimeout 50000
kuuntele verkkoklusteri 0.0.0.0:80
vaihtoehto httpchk GET /index.html
tasapaino roundrobin
palvelin inst1 192.168.1.61:80 check inter 2000 fall 3
palvelin inst2 192.168.1.62:80 check inter 2000 fall 3
Voit lisätä painon jokaisen palvelimen jälkeen painoarvon asettamiseksi.
palvelin inst1 192.168.1.61:80 check inter 2000 fall 3paino 1
palvelin inst2 192.168.1.62:80 check inter 2000 fall 3paino 2
Jokaisen väitteen selitys
maailmanlaajuisesti
loki 127.0.0.1 local0 \määritä lokikirjaus,paikallinen0Onko lokilaite, oletus on järjestelmäloki
loki 127.0.0.1 local1 ilmoitus \Lokin taso onilmoitus
#log loghost local0 tiedot
maxconn 4096 \Liitäntöjen enimmäismäärä
uid 99 \käyttäjäuid
gid 99 \käyttäjägid
demoni \Suorita demoniprosessina
#debug \Virheenkorjaustila, tulosta käynnistystiedot vakiolähtöön
#hiljainen \Hiljainen tila, ei lähtöä käynnistyksen yhteydessä
oletusarvot
kirjaudu globaaliin \käyttääpalloloki määritelty sisään
tila http \Mode onhttp
vaihtoehto httplog \käyttäähttpKirjauksen muoto
vaihtoehto dontlognull \varmistaaHAProxyÄlä tallenna ylemmän tason kuormituksen tasapainottimen lähettämiä sykepaketteja tilatietojen havaitsemiseksi.
yrittää uudelleen 3 \Tarkista solmuyhteysvirheiden määrä, joka ylittää3Solmu ei ole käytettävissä
#uudelleenlähetys\latauksen aikanaKun arvo on erittäin korkea, yhteydet, joita on käsitelty nykyisessä jonossa pitkään, katkaistaan automaattisesti.
maxconn 2000 \Liitäntöjen enimmäismäärä
contimeout 5000 \Yhteyden aikakatkaisuneiti
ilmaston yli 50 000Asiakkaan aikakatkaisuneiti
srvtimeout 50000Palvelimen aikakatkaisuneiti
kuuntele verkkoklusteri 0.0.0.0:80 \Määritä klusterin ja kuunteluportin numerot
vaihtoehto httpchk GET /index.html \Tarkista palvelimenindex.htmlasiakirja,Syketunnistuksen URL-asetukset
tasapaino roundrobin \Kuormantasauksen ajoitusalgoritmi on round robin
palvelin inst1 192.168.1.61:80 check inter 2000 fall 3 \Määritä online-solmut
palvelin inst2 192.168.1.62:80 check inter 2000 fall 3
tarkista välillä 2000on havaita sydämenlyöntitaajuus (jokainen2000 mshavaittu kerran),syksy 3Joo3Palvelin ei ole käytettävissä, jos se epäonnistuu
Uudessa versiossa aikakatkaisuasetuksia on muutettu seuraavasti:
contimeout korvataan aikakatkaisuyhteydellä:Määritä aikakatkaisujakso, jonka haproxy odottaa edelleenlähettääkseen asiakaspyyntöjä taustapalvelimelle
clitimeout korvataan aikakatkaisuasiakkaalla:Asiakkaan käyttämättömyyden aikakatkaisuaika on aika, joka kuluu sovellukselta yhteyden muodostamiseen haproxyyn
srvtimeout korvataan aikakatkaisupalvelimella:Kun asiakas muodostaa yhteyden palvelimeen, palvelinta odottava aikakatkaisujakso on aika, joka kuluu haproxylle yhteyden muodostamiseen taustaverkkopalvelimeen.
Huomautus:
haproxyAikataulutusalgoritmeja on kahdeksan
chroot /usr/share/haproxy \Tämä tarkoittaa juurihakemiston sijainnin vaihtamista, kun ohjelma suoritetaan. Jos sinulla on tämä koodi, sinun on luotava tämä hakemisto.
Tietoja lokitasoista
staattisen tason DEBUG
DEBUG Level huomauttaa, että hienojakoiset tietotapahtumat ovat erittäin hyödyllisiä sovellusten virheenkorjauksessa.
staattisen tason INFO
INFO-taso ilmaisee, että viesti korostaa sovelluksen käynnissä olevaa prosessia karkearakeisella tasolla.
staattinen taso VAROITUS
WARN-taso ilmaisee mahdollisen virhetilanteen.
staattisen tason VIRHE
ERROR-taso osoittaa, että vaikka virhetapahtuma tapahtuu, se ei silti vaikuta järjestelmän jatkuvaan toimintaan.
staattinen taso FATAL
FATAL-taso osoittaa, että jokainen vakava virhetapahtuma aiheuttaa sovelluksen sulkemisen.
Lisäksi saatavilla on kaksi erityistä kirjaustasoa:
staattinen taso KAIKKI
ALL Level on alin taso ja sitä käytetään kytkemään kaikki kirjaukset päälle.
staattinen taso OFF
OFF Level on korkein taso ja sitä käytetään sammuttamaan kaikki kirjaukset.
[root@localhost haproxy-1.5.19]# /etc/init.d/haproxy start
http://192.168.1.60/test.html
Päivitä sivu testattavaksi
tai testaa skriptillä
[root@localhost ~]# for i in $(seq 10); tee curl http://192.168.1.60/test.html ;valmis
Haproxy ei tallenna lokeja oletuksena. Sen lisäksi, että määrität lokitulosteen haproxy.conf-tiedoston globaalissa osiossa, sinun on määritettävä myös järjestelmälokin määritystiedosto.
menetelmä yksi:
[root@localhost haproxy-1.4.24]# vi /etc/haproxy/haproxy.cfg
maailmanlaajuisesti
# loki 127.0.0.1 local0
# log 127.0.0.1 local1 ilmoitus
#log loghost local0 tiedot
maxconn 4096
chroot /usr/share/haproxy
uid 99
gid 99
demoni
#debug
#hiljainen
log /dev/log local0 tiedot
log /dev/log local0 ilmoitus
[root@localhost haproxy-1.4.24]# touch /etc/rsyslog.d/haproxy.conf
[root@localhost haproxy-1.4.24]# vi /etc/rsyslog.d/haproxy.conf
if ($programname == 'haproxy' ja $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' ja $syslogseverity-text == 'huomautus') then -/var/log/haproxy/haproxy-notice.log
& ~
[root@localhost haproxy-1.4.24]# palvelun rsyslogin uudelleenkäynnistys
[root@localhost ~]#/etc/init.d/haproxy-uudelleenkäynnistys
[root@localhost ~]# cat /var/log/haproxy/haproxy-info.log
Tapa kaksi:
(1) Muokkaa /etc/haproxy/haproxy.conf
[root@localhost ~]# vi /etc/haproxy/haproxy.cfg
maailmanlaajuisesti
loki 127.0.0.1 paikallinen3
#local3 on laite, joka vastaa tiedoston /etc/rsyslog.conf kokoonpanoa, ja lokitietojen taso kierrätetään oletusarvoisesti.
(2) Kirjoita haproxy-lokitiedosto
[root@localhost ~]# vim /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
$UDPServerRun 514
local3.* /var/log/haproxy.log
&~
Huomautus:
$ModLoad imudpUDP-protokolla lokien keräämiseen
$UDPServerRun 514Määritä lokin keräämiseen käytetty portin numero
local3.* /var/log/haproxy.logMääritä lokin tallennuspaikka
(3) Määritä rsyslogin päämääritystiedosto ja ota käyttöön etäloki (valinnainen)
[root@localhost ~]# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS=”-c 2 -r -m 0″
#-c 2 Käytä yhteensopivuustilaa, oletus on -c 5
#-r Ota etäkirjaus käyttöön
#-m 0-merkin aikaleima.Yksikkö on minuutit. Kun se on 0, se tarkoittaa, että toiminto on poistettu käytöstä.
(4) Käynnistä haproxy- ja rsyslog-palvelut uudelleen
[root@localhost ~]# systemctl käynnistä rsyslog uudelleen
[root@localhost ~]# systemctl käynnistä haproxy uudelleen
(5) Tarkista loki verkkosivustolla käynnin jälkeen
[root@localhost ~]# kissa /var/log/haproxy.log
Laajennus: välityspalvelin mysql
kuuntele mysql 0.0.0.0:3306
palvelin mysql1 192.168.10.205:3306 tarkista portti 3306 maxconn 300