ášáœáá áµááá ášá°áááá á áµáá áá± ááááªá« ááá áá ááá¢

ášáááµ ááá ášáµá áá°áá áªá«ááœá á á¥á á áµá°áááᜠáá á á ááµá áááµááµ ášá°ááá° áááµá á²áá á°á áááᜠáá ááááá± á ááµ ášáá³ášá» áá¥á¥ á¥áá²á«áá á«á°áááᢠášáá°á á°á°á«áœááµ á¥á ášá°áª á°áá£áá ášáá°á¥ á á£á á³áá ášáá áááµ ááá áááµ ááá á¶ááµáá®áœ á áá± ááá¢
HAProxy ášáá¥áµ á á áááá ááá»á»áᣠášáá€áµ áá áá ášá áááµášáᣠášááᜠááá áááááµ á¥á áááááá ášáá áá¥áµ ášáá á á áá ášáá«á áááá ᥠá«áá ááᢠá á¥á áµááá¶áœ áá áá«á ááœááᢠLinux, á¥áá° CentOS 8ᣠá áá áááªá« ááµá¥ á¥áá²áá á áµááá¶áœ áá á¥áá°á©á«áá О .

HAProxy á á°áá á á£á ášáá°á áµá«áá ááážá áµá á£á¢á«áᜠá°áµáá ááᣠáµááá á á¥á áá ášá£áá¥á á áááá ášáµá á áááááµ áá á®áœá á áµá°áááááµ á¥á á áááá ááá»á»á áá á ááᢠáá áááªá« HAProxyá á á°áá á áµá°ááá áá á¥áá° áááµ ááá ášáááá á°ášáááœá ááášáá«áᢠCentOS 8ᣠáá á áµá«ááá áá° áµá á áááá®áœá á«áá«áá¢
ááá¡á áá€áµ áááááµ á¢á«ááµ áááµ ášáµá á áááá®áœ á¥á á ááµ ášáááµ ááá á áááá áááááµ ááá£áᢠášáµá á áááá®áœ á áá«ášáážá ášáááµ áááá áááá°áœ á¢á«ááµ á¥áá° nginx ááá httpd á«á áá°ášá³á ášáµá á áááááµá ááµá¬áµ á áá£ážáá¢
HAProxy á á áá«á áá CentOS 8
HAProxy á áá¥ááµ á¥á«á°á ášáᣠášáááµ ááá áá°áá áªá« áµáááᣠáµááá± á áá°á á áášáá»áᜠááµá¥ áá¥ááµá ááááᢠCentOS, ášá áᥠááá áµáªáµ áááá ááœááᢠášá ááá áµáªáµ áááá ášáášá°ááá áµááá á«áá±á¡
sudo yum info haproxy
HAProxy áááá á¶áµáµ ášá°ášáá áµáªá¶áœá á«ááá£áဠááá± á á áᥠáá ášá°á°áá áµáªá¶áœ á¥á á ááá áá³á áááááœá ášááá á á¶áµá°áᣠá á®á áµáªáµá¢ á HAProxy áµá áš áᜠáá ášá°áášáášáá ášá áᥠáá ášá°ášáá áµáªáµ áááá áášááᥠá¥á ášáá« ášáµááá áµáªáµ áá áá á¥áá°áááá ááá°á ááœááá¢
á áá áááªá« ááµá¥á£ á áá»áá áµ áá á áá°á á áášáá»áᜠááµá¥ á¥áµá«áá á«ááá ášáá ášá áᥠáááá ášá°ášáá áµáªáµ áááµá áµáªáµ 2.0 á¥áááááᢠášááá© áá«á á«áµááááá³áᢠááá áá á ááááªá« áá®áá«áá áááášáµ á¥á ááá ááá ášáá«áµááááµá á áµá ááá³áᜠááááµáá á«ášááá¡á¢
sudo yum install gcc pcre-devel tar make -y
ášááá á®á±á ášá³áœ á«ááá áµááá á áá áá á«ááá±á¢ á á²áµ áµáªáµ á«á á áá áášááᥠááœááᢠ.
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 ááá«á áá á±á¢ áµááªáá± á¥áá²á°á« ášááá ááá¶áœá á«ááµá á¥á ášáá« ášáµáááµáµ áŽááá á¥áá°áá á«áµááá©áµá¡
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
ášáášá°ááµá áááᜠáá° ááá á«ááᢠáá°á© ášá áááá_áµá á áµá³á²áµá²ááµ áá¹ áá á áááá®áœáá áá°áá á áá áµá£ á¥á ášáá_á áá â ášáµá áµá«ááá áááá ášááááážá ášá áááá®áœ ášáá ášá áá á áµá«á»ááœá¢ ášáá ášá áá á áµá«á»ááœá áášááᥠááœááᢠá¥á á áµá áá ášáá á áá³áš áášá¥ á áááá áá á áá³áš áášá¥.
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
áá á áááµ 80 áá ášáá°á áá«á áµá http_front á«áá ášáµá«ááµáááµ-áá¥áá¥á (áá¥áá¥á 4) ášáááµ áááá áááá»áᣠášáá«á áµá«ááá áá° http_back áá°á°á£áá áá£áª ášáá ááá á«áá«áᢠá°ášááªá ášáµá³á²áµá²ááµ /haproxy?áµá³áµáµ á á°á áá°á á áµá«á» áá á«áá ášáµá³á²áµá²ááµ áᜠáá áááááá¢
ášá°áá«á© ášáááµ ááá áµáá° ááá®áœá¢
á á£áá€ááµ ááá ááµá¥ á áááá®áœá áááᜠHAProxy á á°á»á áá á á áá¥-á®á¢á áµáá° ááá áá ášáµ á¥ááá«á á áááá®áœ ááááµ ááá á¥áá²á áá á«áµáœáááá¢
ášáááµ ááá áµáá° ááá®áœ á¥á«áá³áá± áááááµ áá° ášáµáá ášáá ááá á áááá á¥áá°ááá« áááá°á á«áááááᢠá áá³ááµ á áá á áá«á®áœ á¥ááá¡
- á«áááµá®á¢áአá¥á«áá³áá± á áááá á á°á«á á¥áá° áá¥á°á± á¥á á áá ááááᢠáá á á£á ááµáá³ á¥á ááµáá áµáá° ááá á²áá á á áááá®áœ áá ášáááá£á áªá« áá á á¥á©á áá°á«ášá±á á«ášááá£áᢠáá áµáá° ááá á°áááá á²áá ášá áááá áá¥á°á¶áœ á áá¥ááµ á¥áá²áµá°á«ášá á«áµáœááá¢
- ááµáµá®áá¡ á á£á á¥ááµ ááááá¶áœ á«ááµ á áááá á°ááá§áᢠášáá¥-á®á¢á ááá« ášáášáááá á°áá³á³á áááµ á£áážá á áááá®áœ áá«ášá ááᢠáá áµáá° ááá á¥áá° LDAPᣠSQLᣠTSEᣠááá° áá áášá á áá ááá°á© ááá áááᜠááášá«áᣠááá áá á¥áá° HTTP áá áá áá áá ááá°á© ááá áááᜠá°áµáá á áá°ááá¢
- á áá°á: ášááá ášáááááµ áŠá³áᜠá«ááµ ášááááªá«á á áááá ááááá±á ááá ááᢠá áááá®áœ ášáá á°áá ášáá¥á ááá« á¥áµáš ášáá°áá ááášá£áᣠáá á á áá£áªááµ ášá áááá© á á¥áá» áŠá³ áá áááá³áᢠá ááµ á áááá áš maxconn á¥áŽáµ áá á²á°ááµ ášááá¥áá á áááá á¥á á áá ááááá¢
- ááá: ášááá á áá á áµá«á»á á¥á«ááá ášááá áá ášáµáá á áááá á¥áá°áá áááá á ááá±áµ á áááá®áœ á á áá áá¥á°áµ ááœáµ á¥á ášá°ášáá ááᢠáá á á°áá³á³á ášá°áá á á áá á áµá«á» áááá áá° á°áá³á³á á áááá á¥áá°ááá á«ášááá£áᣠá áááá®á¹ á¥á«á³ážá áá á°áá³á³á ááá ááá«áá¢
á áá°áá áªá«á áá¥áá¥á áá ášáááµ ááá áááá (áá¥áá¥á 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 á áᎠášá°áááš á¥á ášáá° á ááᣠášááµ á£ááá á°áášáá ášá áᥠá áá á áµá«á» á á á³áœ ááµá¥ áááá± á¥á ášáá ááá°á± áá á áµááá áááááµáá á«ášááá¡á¢ á ááááªá«á ááµá¥ á«áá ášáµá³á²áµá²ááµ á©á áá€á áááªá« á á°á áá°á á áµá«á» áá ášáµá³á²áµá²ááµ áᜠááá¥á«áá¢
http://load_balancer_public_ip/haproxy?stats
ášáµá³á²áµá²ááµ áá¹á á²ááᣠááá á áááá®áœá á ášááᎠááá ášá³á©á£ áááá© á°á³áá·á!

ášáµá³á²áµá²ááµ áá¹ ášáµá á áµá°ááááœáá ááášá³á°á á áá³ááµ á áá áášáááœá áááᣠáá á ášáááá»/ášáááá« áá á¥á ášááá áááᜠá¥ááµá á«á«áµá³áᢠá ááµ á áááá áá ááááµ ášá°á°ášáá áµá£ á ááµáá áá áááá á¥á ášááµ á£ááá ááá áá°ášáá áµ á¥áá°ááœá á«ášááá¡á¢
ášááµ á£áááá ááᜠášááá°á¥ ášááᣠášHTTP ááááá¶áœ á áášááá á¥áá³áá³áá± á«ášááá¡á¢ á¥áá²ááᣠHAProxy ášá³áœ á«ááá áµááá á áá áá á¥ášá°á« áááá á«ášááá¡á¡
sudo systemctl status haproxy
ášáµá³á²áµá²ááµ áá¹á á ááá áá áá á á
áááᣠášáµá³á²áµá²ááµ áá¹ á frontend áá á¥á» ášá°áášáášá£ á áá ášáá³á ááᣠáá á°áá á¥á© áá³á¥ áááá ááœááᢠá ááµá©á£ ášá³áœ á«ááá áá³á á haproxy.cfg áááá áášášá» áá á áášá á¥á ášáá°á¥ áá¥á áááµá¡áµ ááœááᢠáá°á© ášá°á áá áµá О ášááá áá á°á ááá± ášá°á á á ááá áááŠ
listen stats
bind *:8181
stats enable
stats uri /
stats realm Haproxy Statistics
stats auth username:password
á á²á±á ášá áµáá á¡áµá á«ášá ââá ááᣠášfrontend á¡áµá ááµá¥ ášáµá³á²áµá²ááµ á©áª á á®ááá áá£áá» á«áµááá±á¢ á²ášáá± áááá á«áµááá¡ á¥á HAProxy á á¥áá°áá á«áµááá©á¢
sudo systemctl restart haproxy
ášáá«á á á á²á± ášáá°á¥ áá¥á ášáááµ áááá á¥áá°áá áááá± á¥á á ááááªá« ááá ááµá¥ á ááá¹áµ ášá°á áá áµá á¥á ášááá áá ááá¡á¢
http://load_balancer_public_ip:8181
ááá á áááá®áœá á ááá á ášááᎠááá áá³ášá³ážáá á«ášááá¡á£ ášáá«á á á á³áœá ááµá¥ ááá ášáá°á¥ áá¥á®áœ á³ááá© ášááµ á£ááá á áááá á¥á» áááá±á¢
http://load_balancer_public_ip/
ášááµá¥ á áááá®áœá ášá°áá«á© ášáášáá« ááŸáœ á«áážáᣠá ááµá áᜠá¥áá°áá á á«á áá¥á ášá°ááš á áµá°ááá ááᜠá¥áá°áá«áá á«áµá°áááᢠášá°áá«á© ášáááµ ááá áµáá° ááá®áœá á áá ášáµ ááá ááµá¥ ááášá ááá áááášáµ ááœááᢠ.
áá ááá«á¡ HAProxy Load Balancer
ášHAProxy áááµ áááá á á°á³á« ááá³ áµáá°á«á á¥áá³á á°áµ á áááµ! áá°ášá³á ášáááµ ááá áááá á¢ááááµá ášáµá áá°áá áªá«áá á áááá á¥á á°ááááµ á á¥á á áá»á»á ááœááᢠáá áááªá« á HAProxy áááµ ááá áá áµáááµá°ááá ááá¢á« á¥á» ááᣠáá á á á áá ášááááªá« áááªá« ááµá¥ áááᜠášááœáá á áá á¥á ááá®áœá ááµášá ááœááᢠášá°áá«á© áá á®áœá á áá áá á¥áá²ááá© á¥áááá«áá á HAProxy ááááᣠá¥á ášáá« ááááµ á á«á£á¢á ášáááµ ááá áááµ áááá©á¢
ášáµá á áááááµáá á á°á°áááááµ ááá á á á áá«á³ á áµá°ááááœá á²á ááᣠášáááµ ááá£á áá á«á± á ááá á ááµ ášááµááµ áá¥á¥ ááá¥á ááœááᢠá á¥á ášáááµ ááá£á ááᜠáá«ášá á°áá³áá á áá á áááá ášáá°á á°ááááµá ášá áá áá»á»á ááœááᢠáµááá áá³á á á¥á ááµá¥ ášá áá ááá ááœááᢠ.
áµá á®áá± ášá áá ááá ***
ááá: hab.com
