Technology sharing

Haproxy aedificat botri telam

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1: Causa analysis

1: Case Overview

II: Pre-casu scientia

3: Case environment

2: Causa exsecutionis

1: Compilare et instituere nginx servo (gradus duorum nginx paginarum prorsus idem sunt, solum pagina test diuersa est)

[root@localhost ~]# yum -y pere-devel zlib-devel gcc* install

[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

[root@localhost nginx-1.12.0]# facere && facere install

[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]# resonare "test web01" > test.html

[root@localhost~]# systemctl stop firewalld

[root@localhost ~]# nginx -t

[Radice @ localhost ~] # nginx ## Satus nginx processus

[root@localhost ~]# netstat -anpt | grep nginx

II: Compile et install Haproxy

[root@localhost~]# systemctl stop firewalld

[root@ localhost ~] # 0

[root@localhost ~]# yum -y install 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] # TARGET = linux26

[root@localhost haproxy-1.5.19]# facere install

Nota:

Linux22 pro Linux 2.2

Linux24 pro Linux 2.4 et supra (default)

linux24e pro Linux 2.4 cum auxilio pro epoll operante (> 0.21)

linux26 pro Linux 2.6 et supra

Solaris pro Solaris 8 vel 10 (alii probati)

freebsd ad FreeBSD V ad 8.0 (alii probati)

openbsd pro OpenBSD 3.1 ad 4.6 (alii probati)

cygwin ad Cygwin

generica alia OS.

morem tincidunt accommodare omnem occasum

III: Haproxy servo configuratione

(I) crea haproxy configuratione file

[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy

[root@localhost haproxy-1.5.19]# cp examples/haproxy.cfg/etc/haproxy/

(II) officium scriptor crea

[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

(III) Haproxy configurationis introductio

[root@localhost haproxy-1.5.19]# vi /etc/haproxy/haproxy.cfg

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

#log loghost local0 info

maxconn 4096

uid 99

gid 99

daemonium

#debug

#quies

defaltis

log global

modus http

optio httplog

optio dontlognull

retries 3

# redispatch

maxconn 2000

contimeout 5000

clitimeout (L)

srvtimeout (L)

audi webcluster 0.0.0.0:80

optio httpchk GET /index.html

statera roundrobin "

server inst1 192.168.1.61:80 reprehendo inter 2000 cadunt 3

server inst2 192.168.1.62:80 reprehendo inter 2000 cadunt 3

Pondus addere potes postquam singulis ministris ad pondus valorem apponendum.

server inst1 192.168.1.61:80 reprehendo inter 2000 cadunt 3pondus 1

server inst2 192.168.1.62:80 reprehendo inter 2000 cadunt 3pondus 2

Explicatio cuiusque constitutionis

global

log 127.0.0.1 local0 \logging configurare;local0Estne stipes fabrica, default est ratio iniuriarum

log 127.0.0.1 local1 notice \Stipes gradu estanimadverto

#log loghost local0 info

maxconn 4096 \Maximum numerum hospitum

uid 99 \useruid

gid 99 \usergid

daemon \Currere ut daemon processum

#debug\Debug modus, output satus notitia ad vexillum output

#quiet\Tace modus, non output at startup

defaltis

log global \ususgloblelog definitur

modus http \Modus esthttp""

optio httplog \usushttp""Forma logging

optio dontlognull \ensureHAProxyNon recordarentur pulsatio facis a superiori gradu librator onus deprehendere status notitia.

retries III \Compesce numerum nodi defectuum connexionis, qui excedit3Nodus perpendat consideretur

  # redispatch\cum onusCum valor altissimus sit, nexus qui in currente queue processit diu automatice terminabuntur.

maxconn 2000 \Maximum numerum hospitum

contimeout 5000 \Connection timeoutms

clitimeout (L)Clientem timeoutms

srvtimeout (L)Servo timeoutms

audi webcluster 0.0.0.0:80 \Definias botrum portassent et audiebant portum numeris

optio httpchk GET /index.html \Reprehendo in calculonis serviindex.htmldocumentum;Cordis deprehensio URL occasus

statera roundrobin \Circum Robin est onus aequatis scheduling algorithmus

server inst1 192.168.1.61:80Define online lymphaticorum

server inst2 192.168.1.62:80 reprehendo inter 2000 cadunt 3

reprehendo inter MMest deprehendere pulsatio frequency (omnis2000msSimul detecta)cadere 3sic3In server in defectum habetur unavailable

In nova versione, occasus timeout adaptatis, hoc modo:

contimeout reponitur per timeout connect:Define the timeout tempus haproxy expectat procuret clientem petitiones ad backend servo

clitimeout timeout client substituitur:Tempus timeout tempus clientis inertia tempus capit pro app coniungere ad haproxy

srvtimeout servo timeout substituitur:Postquam client nexum cum servo constituit, tempus exspectationis servientis tempus temporis accipit pro haproxy coniungere cum servo interretiali interreti.

Nota:

haproxySunt octo scheduling algorithms

    1. statera leastconnMinimum numerus nexus
    2. statera roundrobin "suffragium
    3. statera fontemSecundum clientisIPQuid facere hashing
    4. stabilis-rrSecundum pondus
    5. uripostulanteURI
    6. url_parampostulanteURLmodulus
    7. hdr (nomen)secundumHTTPpetentibus caput cohibere singulisHTTPquaeritur?
    8. rdp-crustulum (nomen)secundumcrustulum (nomen)cohibere Nullam temporTCPquaeritur?

chroot / usr/share/haproxy \Id est locum indicis radicis mutare cum programma agitur.

De iniuriarum levels

static Level DEBUG

DEBUG Level indicat notationes subtilissimas rerum eventus esse valde utiles ad applicationes debugging.

stabilis Level INFO

INFO planum indicat nuntium curriculum applicationis in gradu crasso efferre.

static Level MONITUM

MONEO gradu indicat potentialem errorem condicionem esse.

stabilis Level ERROR

ERROR planities indicat quamvis error eveniat, tamen continuam systematis operationem non afficit.

static Level EXITIABILIS

Planum fatale indicat unumquemque errorem gravissimum eventum applicationis ad exitum facient.

Praeterea duae sunt gradus colligationis speciales in promptu:

stabilis Level all

OMNES gradus est infimus gradus et in omnia logging convertitur.

stabilis gradu ON

ON Level est summus gradus et ad omnia logging averte.

4: Start

[root@localhost haproxy-1.5.19]# /etc/init.d/haproxy initium

V: Testa botrum portassent telam

http://192.168.1.60/test.html

Renovare paginam test

aut test uti scriptor

[root@localhost ~]# for i in $(seq 10); facere crispum http://192.168.1.60/test.html ;

6: Haproxy log

Haproxy tigna de defalta non refert. Praeter ad specificativum stipes output in sectione globali in haproxy.conf, necesse est etiam rationem configurare fasciculi configurationis.

modum unum;

[root@localhost haproxy-1.4.24]# vi /etc/haproxy/haproxy.cfg

global

# log 127.0.0.1 local0

# log 127.0.0.1 local1 notice

#log loghost local0 info

maxconn 4096

chroot / usr / share / haproxy

uid 99

gid 99

daemonium

#debug

#quies

log/dev/log local0 info

log /dev/log local0 notice

[root@localhost haproxy-1.4.24]# tactus /etc/rsyslog.d/haproxy.conf

[root@localhost haproxy-1.4.24]# vi /etc/rsyslog.d/haproxy.conf

si ($programma== 'haproxy' et $syslogseverity-text == 'info') deinde -/var/log/haproxy/haproxy-info.log

& ~

si ($ programname == 'haproxy' and $syslogseverity-text == 'notitia') deinde -/var/log/haproxy/haproxy-notice.log

& ~

[root@localhost haproxy-1.4.24] # religio rsyslog restart

[root@localhost ~]#/etc/init.d/haproxy restart

[root@localhost ~]# cat /var/log/haproxy/haproxy-info.log

Modus Duo:

(1) Edit /etc/haproxy/haproxy.conf

[root@localhost ~]# vi /etc/haproxy/haproxy.cfg

global

log 127.0.0.1 local3

#Local3 est fabrica, configurationi in /etc/rsyslog.conf respondens, et index rerum info per defaltam REDIVIVUS.

(II) scribe haproxy stipes lima

[root@localhost ~]# vim /etc/rsyslog.d/haproxy.conf

$ModLoad imudp

$UDPServerRun 514

local3.* /var/log/haproxy.log

&~

Nota:

$ModLoad imudpProtocol UDP omnia colligendis

$UDPServerRun 514Specificare portum numerus propter iniuriarum collectione

local3.* /var/log/haproxy.logSpecificare iniuriarum repono locus

(III) Configurare principalem configurationem fasciculi rsyslog et fac remote logging (libitum)

[root@localhost ~]# vim /etc/sysconfig/rsyslog

SYSLOGD_OPTIONS = "-c 2 -r -m 0"

#-c 2 Modus convenientiae usus, defectus est -c 5

# R activare remotis logging

#-m 0 signum indicatione temporis.Unitas est minuta.

(IV) Sileo haproxy et rsyslog officia

[root@localhost~]# systemctl sileo rsyslog

[root@localhost~]# systemctl sileo haproxy

(V) Reprehendo iniuriarum visitans website

[root@localhost ~]# cat / var/log/haproxy.log

Extensio: procuratoris mysql

audi mysql 0.0.0.0:3306

server mysql1 192.168.10.205:3306 ceptum portum 3306 maxconn 300