Hur man installerar, konfigurerar och optimerar HAProxy på Centos 7/6/5

Det här inlägget visar hur du installerar, konfigurerar & amp; optimera HAProxy på Centos 7/6/5 för att göra en högpresterande belastningsbalansör med maximal samtidig anslutning till 10000.

HAProxy är en pålitlig, högpresterande TCP / HTTP-belastningsbalans. Du kan läsa mer om HAProxy här på dess officiella webbplats .

Den nuvarande stabila versionen av HAProxy vid tidpunkten för detta inlägg är 1,9 med denna officiell dokumentation .

Installera HAProxy

För att installera HAProxy kan du använda det här kommandot:

sudo yum install -y haproxy

För att starta HAProxy:

sudo systemctl start haproxy

För att stoppa HAProxy:

sudo systemctl stop haproxy

För att kontrollera HAProxy-status:

sudo systemctl status haproxy

För att aktivera HAProxy körs vid start

sudo systemctl enable haproxy

Konfigurera HAProxy

Vårt nätverk kommer att se ut så:

user -----> haproxy:9000 -------->backend1 (172.16.10.20:5000)
                         -------->backend2 (192.168.5.19:6000)

I denna topologi lyssnar HAProxy efter användarförfrågan på port 9000, all begäran kommer att vidarebefordras till 2 backends: backend1 (172.16.10.20:5000) och backend2 (192.168.5.19:6000)

Som standard kommer HAProxy huvudkonfigurationsfil att vara på: /etc/haproxy/haproxy.cfg

Vi måste konfigurera HAProxy för att tillgodose vårt behov. Konfigurera först HAProxy frontend-lyssnare. Redigera frontend lyssnarporten i konfigurationsfilens huvud frontendavsnitt enligt följande:

---------------------------------------------------------------------
 main frontend which proxys to the backends
 ---------------------------------------------------------------------
 frontend  main *:9000
  acl url_static path_beg -i /static /images /javascript /stylesheets
  acl url_static path_end -i .jpg .gif .png .css .js
  use_backend static if url_static
 default_backend app

Nästa måste vi ändra våra backend-appar:

---------------------------------------------------------------------
 round robin balancing between the various backends
 ---------------------------------------------------------------------
 backend app
     balance     roundrobin
     server   backend1  172.16.10.20:5000 check
     server   backend2  192.168.5.19:6000 check
     #server  app1 127.0.0.1:5001 check
     #server  app2 127.0.0.1:5002 check
     #server  app3 127.0.0.1:5003 check
     #server  app4 127.0.0.1:5004 check

Innan HAProxy startas om igen, måste vi validera om vår konfigurationsfil har något fel med det här kommandot:

 haproxy -c -V -f /etc/haproxy/haproxy.cfg 

i det här kommandot:

  • -c: Kontrollera
  • -V: Verbose
  • -f: File
Related:  “Uppdateringar avvisades eftersom taggen redan finns” när man försökte driva in SourceTree

Om allt går bra ser du utdata så här:

Configuration file is valid

Nu kan vi spara vår konfigurationsfil och starta om HAProxy för att tillämpa ändringar:

sudo systemctl restart haproxy

Kontrollera status för HAProxy:

sudo systemctl status haproxy

Optimera HAProxy

Först av allt måste vi aktivera HAProxy-statistik sida / hälsokontroll genom att lägga till dessa rader i slutet av huvudkonfigurationsfilen på: /etc/haproxy/haproxy.cfg

---------------------------------------------------------------------
 HAProxy Stats at: 171.244.5.195:8088/haproxy?stats
 --------------------------------------------------------------------
 listen  stats   *:8088
         mode            http
         log             global
        maxconn 10     
        timeout client  100s     
        timeout server  100s     
        timeout connect 100s     
        timeout queue   100s     
        stats enable     
        stats hide-version     
        stats refresh 30s     
        stats show-node     
        stats auth admin:config91231passwd    
        stats uri  /haproxy?stats