CentOS рдорд╛ HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

рд▓реЗрдЦрдХреЛ рдЕрдиреБрд╡рд╛рдж рдкрд╛рдареНрдпрдХреНрд░рдордХреЛ рд╕реБрд░реБрд╡рд╛рддрдХреЛ рдкреВрд░реНрд╡рд╕рдиреНрдзреНрдпрд╛рдорд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ "рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХред рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд░ рдХреНрд▓рд╕реНрдЯрд░рд┐рдЩ"

CentOS рдорд╛ HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рд╕реЗрд╡рд╛рдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рдПрдХрд▓ рдмрд┐рдиреНрджреБрдХреЛ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдкреНрд░рджрд╛рди рдЧрд░реНрджрд╛ рдзреЗрд░реИ рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рддреЗрд░реНрд╕реЛ рд░реВрдкрдорд╛ рдорд╛рдкрди рдЧрд░реНрдиреЗ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛред HAProxy рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд▓реЛрдб рд╕рдиреНрддреБрд▓рди рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╣реЛ рдЬрд╕рд▓реЗ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд░ рдкреНрд░реЛрдХреНрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

HAProxy рд▓реЗ рд╕реНрд░реЛрддрдХреЛ рдЙрдкрдпреЛрдЧрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди, рдереНрд░реБрдкреБрдЯ рдЕрдзрд┐рдХрддрдо рдмрдирд╛рдЙрди, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХрдо рдЧрд░реНрди, рд░ рдХреБрдиреИ рдкрдирд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрд░реЛрддрд▓рд╛рдИ рдУрднрд░рд▓реЛрдб рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫред рдпреЛ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╣рд░реВрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕реНрддреИ CentOS 8, рдЬреБрди рд╣рд╛рдореА рдпрд╕ рдЧрд╛рдЗрдбрдорд╛ рдлреЛрдХрд╕ рдЧрд░реНрдиреЗрдЫреМрдВ, рд╕рд╛рдереИ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВред рдбреЗрдмрд┐рдпрди 8 ╨╕ Ubuntu 16.

CentOS рдорд╛ HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

HAProxy рдзреЗрд░реИ рдЙрдЪреНрдЪ рдЯреНрд░рд╛рдлрд┐рдХ рднрдПрдХрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдЙрдкрдпреБрдХреНрдд рдЫ рд░ рддреНрдпрд╕реИрд▓реЗ рдмрд╣реБ-рд╕рд░реНрднрд░ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдЧрд╛рдЗрдбрд▓реЗ CentOS 8 рдХреНрд▓рд╛рдЙрдб рд╣реЛрд╕реНрдЯрдорд╛ HAProxy рд▓рд╛рдИ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рдХреЛ рд░реВрдкрдорд╛ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдЪрд░рдгрд╣рд░реВрд▓рд╛рдИ рд░реВрдкрд░реЗрдЦрд╛ рджрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рд╡реЗрдм рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдорд╛рд░реНрдЧ рдЧрд░реНрджрдЫред

рдЙрддреНрддрдо рдирддрд┐рдЬрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрд╡ рд╢рд░реНрддрдХреЛ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд╕рдБрдЧ рдХрдореНрддрд┐рдорд╛ рджреБрдИрд╡рдЯрд╛ рд╡реЗрдм рд╕рд░реНрднрд░ рд░ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рд╕рд░реНрднрд░ рд╣реБрдиреБрдкрд░реНрдЫред рд╡реЗрдм рд╕рд░реНрднрд░рд╣рд░реВрд▓реЗ рдХрдореНрддрд┐рдорд╛ рдЖрдзрд╛рд░рднреВрдд рд╡реЗрдм рд╕реЗрд╡рд╛рд╣рд░реВ рдЪрд▓рд╛рдЙрдиреИ рдкрд░реНрдЫ рдЬрд╕реНрддреИ nginx рд╡рд╛ httpd рддрд┐рдиреАрд╣рд░реВ рдмреАрдЪрдХреЛ рд▓реЛрдб рд╕рдиреНрддреБрд▓рди рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ред

CentOS 8 рдорд╛ HAProxy рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

рдХрд┐рдирднрдиреЗ HAProxy рдПрдХ рджреНрд░реБрдд рд░реВрдкрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛ, рдорд╛рдирдХ CentOS рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рд╡рд┐рддрд░рдг рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд╣реБрди рд╕рдХреНрдЫред рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН:

sudo yum info haproxy

HAProxy рд▓реЗ рд╕рдБрдзреИ рддреАрдирд╡рдЯрд╛ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЫрдиреМрдЯ рдЧрд░реНрди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ: рджреБрдИ рд╕рдмреИрднрдиреНрджрд╛ рднрд░реНрдЦрд░рдХреЛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рд░ рддреЗрд╕реНрд░реЛ, рдкреБрд░рд╛рдиреЛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╕рд▓реЗ рдЕрдЭреИ рдкрдирд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдкрдбреЗрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫред рддрдкрд╛рдЗрдБ рд╕рдзреИрдВ HAProxy рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рдХреБрди рд╕рдВрд╕реНрдХрд░рдгрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдпрд╕ рдЧрд╛рдЗрдбрдорд╛, рд╣рд╛рдореА рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг 2.0 рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ, рдЬреБрди рдЧрд╛рдЗрдб рд▓реЗрдЦреНрдиреЗ рд╕рдордпрдорд╛ рдорд╛рдирдХ рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рдерд┐рдПрдиред рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдореВрд▓ рд╕реНрд░реЛрддрдмрд╛рдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред рддрд░ рдкрд╣рд┐рд▓реЗ, рддрдкрд╛рдИрдВрд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рд░ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╕рд░реНрддрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

sudo yum install gcc pcre-devel tar make -y

рддрд▓рдХреЛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рдЫ HAProxy рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда.

wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz

рдбрд╛рдЙрдирд▓реЛрдб рдкреВрд░рд╛ рднрдПрдкрдЫрд┐, рддрд▓рдХреЛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдлрд╛рдЗрд▓рд╣рд░реВ рдирд┐рдХрд╛рд▓реНрдиреБрд╣реЛрд╕реН:

tar xzvf ~/haproxy.tar.gz -C ~/

рдЕрдирдкреНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ рд╕реНрд░реЛрдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН:

cd ~/haproxy-2.0.7

рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

make TARGET=linux-glibc

рд░ рдЕрдиреНрддрдорд╛, HAProxy рдЖрдлреИрдВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo make install

HAProxy рдЕрд╣рд┐рд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдпрд╕рд▓рд╛рдИ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рдердк рд╣реЗрд░рдлреЗрд░рд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫред рддрд▓ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд░ рд╕реЗрд╡рд╛рд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЬрд╛рд░реА рд░рд╛рдЦреМрдВред

рддрдкрд╛рдИрдВрдХреЛ рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ HAProxy рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рдЕрдм HAProxy рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдореНрди рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рд░ рддрдереНрдпрд╛рдЩреНрдХ рдлрд╛рдЗрд▓ рдердкреНрдиреБрд╣реЛрд╕реН:

sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy 
sudo touch /var/lib/haproxy/stats

рдмрд╛рдЗрдирд░реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдЩреНрдХ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рддрд╛рдХрд┐ рддрдкрд╛рдЗрдБ рдирд┐рдпрдорд┐рдд рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд░реВрдкрдорд╛ HAProxy рдЖрджреЗрд╢рд╣рд░реВ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕реЗрд╡рд╛рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░реЛрдХреНрд╕реА рдердкреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдмрд╛рдЯ haproxy.init рдлрд╛рдЗрд▓рд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ /etc/init.d рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдлрд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рд╣рд░реВ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рддрд╛рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓реНрдиреЗрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ systemd рдбреЗрдорди рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo cp ~/haproxy-2.0.7/examples/haproxy.init /etc/init.d/haproxy
sudo chmod 755 /etc/init.d/haproxy
sudo systemctl daemon-reload

рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдгрд╛рд▓реА рд╕реБрд░реБ рд╣реБрдБрджрд╛ рд╕реЗрд╡рд╛ рд╕реНрд╡рддрдГ рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ:

sudo chkconfig haproxy on

рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, HAProxy рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдердкреНрди рдкрдирд┐ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдиреНрдЫ:

sudo useradd -r haproxy

рдпрд╕ рдкрдЫрд┐, рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдирдореНрдмрд░ рдлреЗрд░рд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/

рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╕рдВрд╕реНрдХрд░рдг 2.0.7 рд╣реБрдиреБрдкрд░реНрдЫ, рдЬрд╕реНрддреИ рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯрдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫред

рдЕрдиреНрддрдорд╛, CentOS 8 рдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдлрд╛рдпрд░рд╡рд╛рд▓ рдпрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХрджрдо рдкреНрд░рддрд┐рдмрдиреНрдзрд╛рддреНрдордХ рдЫред рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рди рд░ рдлрд╛рдпрд░рд╡рд╛рд▓ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрди рдирд┐рдореНрди рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload

рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реЗрдЯрдЕрдк

HAProxy рд╕реЗрдЯрдЕрдк рдПрдХрджрдо рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ HAProxy рд▓рд╛рдИ рдХреБрди рдЬрдбрд╛рдирд╣рд░реВ рд╕реБрдиреНрдиреБ рдкрд░реНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╣рд╛рдБ рд░рд┐рд▓реЗ рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреЗрд░ рдмрддрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдпреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ /etc/haproxy/haproxy.cfg рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рдЧрд░рд┐рдиреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ HAProxy рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд╛рдЧрдЬрд╛рдд рдкреГрд╖реНрдардорд╛рдпрджрд┐ рддрдкрд╛рдИрдВ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдЬрд╛рдиреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗред

рдпрд╛рддрд╛рдпрд╛рдд рддрд╣рдорд╛ рд▓реЛрдб рд╕рдиреНрддреБрд▓рди (рддрд╣ 4)

рдЖрдзрд╛рд░рднреВрдд рд╕реЗрдЯрдЕрдкрдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реМрдВред рдирдпрд╛рдБ рдХрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ vi рддрд▓рдХреЛ рдЖрджреЗрд╢ рд╕рдВрдЧ:

sudo vi /etc/haproxy/haproxy.cfg

рдлрд╛рдЗрд▓рдорд╛ рдирд┐рдореНрди рдЦрдгреНрдбрд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реНред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╕рд░реНрднрд░_рдирд╛рдо рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрдардорд╛ рддрдкрд╛рдЗрдБрдХрд╛ рд╕рд░реНрднрд░рд╣рд░реВрд▓рд╛рдИ рдХреЗ рдХрд▓ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рд░ рдирд┐рдЬреА_рдЖрдИрдкреА - рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдирд┐рдЬреА рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдЬрд╕рдорд╛ рддрдкрд╛рдЗрдБ рд╡реЗрдм рдЯреНрд░рд╛рдлрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рдирд┐рдЬреА IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ UpCloud рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрдпрд╛рдирд▓рдорд╛ рд░ рдЯреНрдпрд╛рдмрдорд╛ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдиреВрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ.

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats timeout 30s
   user haproxy
   group haproxy
   daemon

defaults
   log global
   mode http
   option httplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

рдпрд╕рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рддрд╣ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ (рддрд╣ 4) рд▓рд╛рдИ рдмрд╛рд╣реНрдп рд░реВрдкрдорд╛ рдкреЛрд░реНрдЯ 80 рдорд╛ http_front рд╕реБрдиреНрдиреЗ рдирд╛рдо рджрд┐рдЗрдПрдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ http_back рдирд╛рдордХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрдЫред рдердк рддрдереНрдпрд╛рдЩреНрдХ /haproxy?stats рд▓реЗ рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрдард▓рд╛рдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдареЗрдЧрд╛рдирд╛рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрдЫред

рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдб рд╕рдиреНрддреБрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдоред

рдмреНрдпрд╛рдХрдЗрдиреНрдб рд╕реЗрдХреНрд╕рдирдорд╛ рд╕рд░реНрднрд░рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдирд╛рд▓реЗ HAProxy рд▓рд╛рдИ рд░рд╛рдЙрдиреНрдб-рд░реЛрдмрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдиреБрд╕рд╛рд░ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩрдХрд╛ рд▓рд╛рдЧрд┐ рдпреА рд╕рд░реНрднрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрдм рд╕рдореНрднрд╡ рд╣реБрдиреНрдЫред

рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдХреБрди рд╕рд░реНрднрд░рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдЬрдбрд╛рди рдкрд╛рд╕ рдЧрд░рд┐рдиреНрдЫ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН:

  • рд░рд╛рдЙрдиреНрдбреНрд░реЛрдмрд┐рди: рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрднрд░ рдпрд╕рдХреЛ рд╡рдЬрди рдЕрдиреБрд╕рд╛рд░ рдмрд╛рд░реАрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдЬрдм рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрди рд╕рдордп рд╕рдорд╛рди рд░реВрдкрдорд╛ рд╡рд┐рддрд░рд┐рдд рд░рд╣рдиреНрдЫ, рдпреЛ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╣рдЬ рд░ рд░рд╛рдореНрд░реЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реЛред рдпреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЧрддрд┐рд╢реАрд▓ рдЫ, рд╕рд░реНрднрд░рдХреЛ рд╡рдЬрди рдЙрдбрд╛рдирдорд╛ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • Leastconn: рд╕рдмреИрднрдиреНрджрд╛ рдХрдо рдЬрдбрд╛рди рднрдПрдХреЛ рд╕рд░реНрднрд░ рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ рдЫред рд░рд╛рдЙрдиреНрдб рд░реЛрдмрд┐рди рдПрдЙрдЯреИ рд▓реЛрдб рднрдПрдХреЛ рд╕рд░реНрднрд░рд╣рд░реВ рдмреАрдЪ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреНрдЫред LDAP, SQL, TSE, рдЖрджрд┐ рдЬрд╕реНрддрд╛ рд▓рд╛рдореЛ рд╕рддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдиреНрдЫ, рддрд░ HTTP рдЬрд╕реНрддрд╛ рдЫреЛрдЯреЛ рд╕рддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдзреЗрд░реИ рдЙрдкрдпреБрдХреНрдд рдЫреИрдиред
  • рдкрд╣рд┐рд▓реЛ: рдЙрдкрд▓рдмреНрдз рдЬрдбрд╛рди рд╕реНрд▓рдЯ рднрдПрдХреЛ рдкрд╣рд┐рд▓реЛ рд╕рд░реНрднрд░рд▓реЗ рдЬрдбрд╛рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред рд╕рд░реНрднрд░рд╣рд░реВ рд╕рдмреИрднрдиреНрджрд╛ рдХрдо рд╕рдВрдЦреНрдпрд╛рддреНрдордХ ID рджреЗрдЦрд┐ рдЙрдЪреНрдЪрддрдордорд╛ рдЪрдпрди рдЧрд░рд┐рдиреНрдЫ, рдЬреБрди рдлрд╛рд░реНрдордорд╛ рд╕рд░реНрднрд░рдХреЛ рд╕реНрдерд┐рддрд┐рдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫред рдПрдХ рдкрдЯрдХ рд╕рд░реНрднрд░ maxconn рдкреБрдЧреЗрдкрдЫрд┐, рдЕрд░реНрдХреЛ рд╕рд░реНрднрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • рд╕реНрд░реЛрдд: рд╕реНрд░реЛрдд IP рдареЗрдЧрд╛рдирд╛ рд╣реНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдХреБрди рд╕рд░реНрднрд░рд▓реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдХреБрд▓ рд╡рдЬрдирджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ, рдПрдЙрдЯреИ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рд╕рдзреИрдВ рдЙрд╣реА рд╕рд░реНрднрд░рдорд╛ рдЬрд╛рдиреНрдЫ, рдЬрдмрдХрд┐ рд╕рд░реНрднрд░рд╣рд░реВ рдЙрд╕реНрддреИ рд░рд╣рдиреНрдЫрдиреНред

рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕реНрддрд░рдорд╛ рд▓реЛрдб рд╕рдиреНрддреБрд▓рди рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ (рддрд╣ 7)

рдЕрд░реНрдХреЛ рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдк рднрдиреЗрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд▓реЗрдпрд░ (рд▓реЗрдпрд░ 7) рдорд╛ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБ рд╣реЛ, рдЬреБрди рддрдкрд╛рдИрдХреЛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХрд╛ рднрд╛рдЧрд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдБрджрд╛ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреНрдЫред рдпреЛ рдЬрдбрд╛рдирдХреЛ рдкреНрд░рд╕рд╛рд░рдг рдереНрд░реЛрдЯрд▓ рдЧрд░реЗрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ URL рджреНрд╡рд╛рд░рд╛ред

рдкрд╛рда рд╕рдореНрдкрд╛рджрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ HAProxy рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН:

sudo vi /etc/haproxy/haproxy.cfg

рддреНрдпрд╕рдкрдЫрд┐ рддрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдг рдЕрдиреБрд╕рд╛рд░ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд░ рдмреНрдпрд╛рдХрдЗрдиреНрдб рдЦрдгреНрдбрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   acl url_blog path_beg /blog
   use_backend blog_back if url_blog
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

backend blog_back
   server server_name3 private_ip3:80 check

рдлреНрд░рдиреНрдЯрдПрдиреНрдбрд▓реЗ url_blog рднрдирд┐рдиреЗ ACL рдирд┐рдпрдо рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрдЫ рдЬреБрди /blog рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреЗ рдорд╛рд░реНрдЧрд╣рд░реВрд╕рдБрдЧ рд╕рдмреИ рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред Use_backend рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫ рдХрд┐ url_blog рд╕рд░реНрддрд╕рдБрдЧ рдорд┐рд▓реНрдиреЗ рдЬрдбрд╛рдирд╣рд░реВ blog_back рдирд╛рдордХ рдмреНрдпрд╛рдХрдЗрдиреНрдбрджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд╛ рдЧрд░рд┐рдиреБрдкрд░реНрдЫ, рд░ рдЕрдиреНрдп рд╕рдмреИ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдмреНрдпрд╛рдХрдЗрдиреНрдбрджреНрд╡рд╛рд░рд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░рд┐рдиреНрдЫрдиреНред

рдмреНрдпрд╛рдХрдПрдиреНрдб рд╕рд╛рдЗрдбрдорд╛, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓реЗ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рджреБрдИ рд╕рдореВрд╣рд╣рд░реВ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджрдЫ: http_back, рдкрд╣рд┐рд▓реЗ рдЬрд╕реНрддреИ, рд░ blog_back рднрдирд┐рдиреЗ рдирдпрд╛рдБ, рдЬрд╕рд▓реЗ example.com/blog рдорд╛ рдЬрдбрд╛рдирд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрдЫред

рд╕реЗрдЯрд┐рдЩреНрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрдкрдЫрд┐, рдлрд╛рдЗрд▓ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдирд┐рдореНрди рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ HAProxy рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo systemctl restart haproxy

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдХреЛ рдХреНрд░рдордорд╛ рдХреБрдиреИ рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓рд╣рд░реВ рд░ рдлреЛрд▓реНрдбрд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╕реЗрдЯрдЕрдк рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджреИ

рдПрдХ рдкрдЯрдХ HAProxy рдХрдиреНрдлрд┐рдЧрд░ рд░ рдЪрд╛рд▓реВ рднрдПрдкрдЫрд┐, рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕рд░реНрднрд░рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рд╕рд╣реА рд░реВрдкрдорд╛ рдЬрдбрд╛рди рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рддрдереНрдпрд╛рдЩреНрдХ uri рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдареЗрдЧрд╛рдирд╛рдорд╛ рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрда рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред

http://load_balancer_public_ip/haproxy?stats

рдЬрдм рддрдкрд╛рдЗрдБ рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрда рд▓реЛрдб рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдпрджрд┐ рддрдкрд╛рдЗрдБрдХрд╛ рд╕рдмреИ рд╕рд░реНрднрд░рд╣рд░реВ рд╣рд░рд┐рдпреЛ рджреЗрдЦрд╛рдЙрдБрдЫрдиреН, рддрдм рд╕реЗрдЯрдЕрдк рд╕рдлрд▓ рднрдпреЛ!

CentOS рдорд╛ HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрдард▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рд╡реЗрдм рд╣реЛрд╕реНрдЯрд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдорд╛рдерд┐/рдбрд╛рдЙрди рд╕рдордп рд░ рд╕рддреНрд░рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд┐рддред рдпрджрд┐ рд╕рд░реНрднрд░ рд░рд╛рддреЛ рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЗрдПрдХреЛ рдЫ рднрдиреЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕рд░реНрднрд░ рд╕рдХреНрд░рд┐рдп рдЫ рд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рдореЗрд╕рд┐рдирдмрд╛рдЯ рдкрд┐рдЩ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдпрджрд┐ рддрдкрд╛рдЗрдБрдХреЛ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдЗрд░рд╣реЗрдХреЛ рдЫреИрди рднрдиреЗ, рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ HTTP рдЬрдбрд╛рдирд╣рд░реВ рдлрд╛рдпрд░рд╡рд╛рд▓рджреНрд╡рд╛рд░рд╛ рд░реЛрдХрд┐рдПрдХреЛ рдЫреИрдиред рдпреЛ рдкрдирд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ HAProxy рд▓реЗ рддрд▓рдХреЛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ:

sudo systemctl status haproxy

рдкрд╛рд╕рд╡рд░реНрдбрдХреЛ рд╕рд╛рде рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрда рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрджреИ

рдпрджреНрдпрдкрд┐, рдпрджрд┐ рддрдереНрдпрд╛рдЩреНрдХ рдкреГрд╖реНрда рдХреЗрд╡рд▓ рдЕрдЧрд╛рдбрд┐рдХреЛ рдЫреЗрдЙрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдпреЛ рд╕рдмреИрд▓рд╛рдИ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЦреБрд▓рд╛ рдЫ, рдЬреБрди рд░рд╛рдореНрд░реЛ рд╡рд┐рдЪрд╛рд░ рдирд╣реБрди рд╕рдХреНрдЫред рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ haproxy.cfg рдлрд╛рдЗрд▓рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рддрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдг рдердкреЗрд░ рдпрд╕рд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдкреЛрд░реНрдЯ рдирдореНрдмрд░ рддреЛрдХреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ╨╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗрд╣рд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛ рд▓рд╛рдЧреА:

listen stats
   bind *:8181
   stats enable
   stats uri /
   stats realm Haproxy Statistics
   stats auth username:password

рдирдпрд╛рдБ рд╢реНрд░реЛрддрд╛ рд╕рдореВрд╣ рдердкреЗрдкрдЫрд┐, рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╕рдореВрд╣рдмрд╛рдЯ рдкреБрд░рд╛рдиреЛ рддрдереНрдпрд╛рдЩреНрдХ uri рд▓рд┐рдЩреНрдХ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред рд╕рдорд╛рдкреНрдд рднрдПрдкрдЫрд┐, рдлрд╛рдЗрд▓ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ HAProxy рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

sudo systemctl restart haproxy

рддреНрдпрд╕рдкрдЫрд┐ рдирдпрд╛рдБ рдкреЛрд░реНрдЯ рдирдореНрдмрд░рдХреЛ рд╕рд╛рде рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рдлреЗрд░рд┐ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рд░ рддрдкрд╛рдИрдВрд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрднрдПрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд░ рдкрд╛рд╕рд╡рд░реНрдбрдХреЛ рд╕рд╛рде рд▓рдЧ рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

http://load_balancer_public_ip:8181

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдЗрдБрдХрд╛ рд╕рдмреИ рд╕рд░реНрднрд░рд╣рд░реВрд▓реЗ рдЕрдЭреИ рд╣рд░рд┐рдпреЛ рджреЗрдЦрд╛рдЙрдБрджреИ рдЫрдиреН рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдХреБрдиреИ рдкреЛрд░реНрдЯ рдирдореНрдмрд░рд╣рд░реВ рдмрд┐рдирд╛ рдорд╛рддреНрд░ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рдЖрдИрдкреА рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред

http://load_balancer_public_ip/

рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рддрдкрд╛рдЗрдБрдХреЛ рдмреНрдпрд╛рдХ-рдПрдиреНрдб рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдХрдореНрддрд┐рдорд╛ рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рдХрд╛ рд▓реНрдпрд╛рдиреНрдбрд┐рдЩ рдкреГрд╖реНрдард╣рд░реВ рдЫрдиреН рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рдпрд╛рдж рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ рдХрд┐ рддрдкрд╛рдЗрдБрд▓реЗ рдкреГрд╖реНрда рдкреБрди: рд▓реЛрдб рдЧрд░реНрджрд╛ рддрдкрд╛рдЗрдБ рдлрд░рдХ рд╣реЛрд╕реНрдЯрдмрд╛рдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЦрдгреНрдбрдорд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рдиреНрддреБрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд╡рд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреВрд░рд╛ рдХрд╛рдЧрдЬрд╛рдд.

рдирд┐рд╖реНрдХрд░реНрд╖: HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░

рддрдкрд╛рдИрдХреЛ HAProxy рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реЗрдЯрдЕрдк рдЧрд░реЗрдХреЛрдорд╛ рдмрдзрд╛рдИ рдЫ! рдЖрдзрд╛рд░рднреВрдд рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рд╕реЗрдЯрдЕрдкрдХреЛ рд╕рд╛рдердорд╛ рдкрдирд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдкреНрд░рджрд░реНрд╢рди рд░ рдЙрдкрд▓рдмреНрдзрддрд╛рд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдЧрд╛рдЗрдб HAProxy рд╕рдБрдЧ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩрдХреЛ рдкрд░рд┐рдЪрдп рдорд╛рддреНрд░ рд╣реЛ, рдЬреБрди рджреНрд░реБрдд рд╕реЗрдЯрдЕрдк рдЧрд╛рдЗрдбрдорд╛ рдХрднрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рднрдиреНрджрд╛ рдзреЗрд░реИ рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫред рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рднрд┐рдиреНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреМрдВ рд╡реНрдпрд╛рдкрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ, HAProxy рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рдпреЛрдЬрдирд╛ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╣реЗрдбрд░реВрдордХреЛ рд╕рд╛рде рддрдкрд╛рдИрдВрдХреЛ рд╡реЗрдм рд╕реЗрд╡рд╛рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдЧрд░реНрди рдзреЗрд░реИ рд╣реЛрд╕реНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рд▓реЗ рдЕрдЭреИ рдкрдирд┐ рд╡рд┐рдлрд▓рддрд╛рдХреЛ рдмрд┐рдиреНрджреБ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рд╕рдХреНрдЫред рддрдкрд╛рдИрд▓реЗ рдзреЗрд░реИ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рд╣рд░реВ рдмреАрдЪ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рд╣рд╛рдореНрд░реЛ рдорд╛ рдпрд╕ рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ UpCloud рдорд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд▓реЗрдЦ.

рдкрд╛рдареНрдпрдХреНрд░рдо рдмрд╛рд░реЗ рдердк "рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХред рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд░ рдХреНрд▓рд╕реНрдЯрд░рд┐рдЩ"***

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди