HaProxyని Tumblr, GitHub మరియు StackOverflow వంటి ప్రముఖ సైట్లు ఉపయోగిస్తాయి. ఈ గైడ్లో, Nginxని ఉపయోగించి ఆధారితమైన వెబ్సర్వర్ల సెటప్లో HAProxy యొక్క ఇన్స్టాలేషన్ ద్వారా మేము మిమ్మల్ని తీసుకెళ్తాము.
ల్యాబ్ సెటప్
చూపిన విధంగా CentOS 7 సర్వర్ల 3 ఉదాహరణలు
హోస్ట్ పేరు IP చిరునామాలు
load_balancer 3.17.12.132
సర్వర్_01 3.19.229.234
సర్వర్_02 3.17.9.217
దశ 1: లోడ్ బ్యాలెన్సర్ కోసం /etc/hosts ఫైల్ని సవరించండి
ప్రారంభించడానికి, లోడ్ బ్యాలెన్సర్ సిస్టమ్లోకి లాగిన్ అవ్వండి మరియు చూపిన విధంగా రెండు వెబ్ సర్వర్ల హోస్ట్ పేర్లు మరియు IP చిరునామాలను చేర్చడానికి /etc/hosts ఫైల్ను సవరించండి.
$ ఎందుకంటే / మొదలైనవి / అతిధేయలు
3.19.229.234 సర్వర్_01
3.17.9.217 సర్వర్-02
పూర్తయిన తర్వాత, మార్పులను సేవ్ చేసి, కాన్ఫిగరేషన్ ఫైల్ నుండి నిష్క్రమించండి.
ఇప్పుడు ప్రతి వెబ్ సర్వర్కు వెళ్లి, నవీకరించండి /etc/hosts లోడ్ బ్యాలెన్సర్ యొక్క IP చిరునామా మరియు హోస్ట్ పేరుతో ఫైల్
3.17.12.132 లోడ్-బ్యాలన్సర్ఆ తర్వాత, మీరు సర్వర్_01 నుండి లోడ్ బ్యాలెన్సర్ను పింగ్ చేయగలరని నిర్ధారించండి
అలాగే సర్వర్_02 నుండి
అలాగే, మీరు లోడ్ బ్యాలెన్సర్ నుండి సర్వర్లను పింగ్ చేయగలరని నిర్ధారించుకోండి.
పర్ఫెక్ట్! అన్ని సర్వర్లు లోడ్ బ్యాలెన్సర్తో కమ్యూనికేట్ చేయగలవు!
దశ 2: లోడ్ బ్యాలెన్సర్లో HA ప్రాక్సీని ఇన్స్టాల్ చేయండి మరియు కాన్ఫిగర్ చేయండి
HA ప్రాక్సీ CentOS అధికారిక రిపోజిటరీ నుండి తక్షణమే అందుబాటులో ఉన్నందున, మేము దానిని yum లేదా dnf ప్యాకేజీ మేనేజర్ని ఉపయోగించి ఇన్స్టాల్ చేయబోతున్నాము.
కానీ ఎప్పటిలాగే, మొదట సిస్టమ్ను నవీకరించండి
# yum నవీకరణతరువాత, చూపిన విధంగా HA ప్రాక్సీని ఇన్స్టాల్ చేయండి
# yum ఇన్స్టాల్ చేయండి హాప్రాక్సీవిజయవంతమైన ఇన్స్టాలేషన్ తర్వాత, హాప్రాక్సీ డైరెక్టరీకి నావిగేట్ చేయండి.
# cd / మొదలైనవి / హాప్రాక్సీఏదైనా సవరణలు చేయడానికి ముందు ఏదైనా కాన్ఫిగరేషన్ ఫైల్ను బ్యాకప్ చేయడం ఉత్తమ అభ్యాసానికి అవసరం. కాబట్టి బ్యాకప్ చేయండి haproxy.cfg పేరు మార్చడం ద్వారా ఫైల్.
# mv haproxy.cfg haproxy.cfg.bakతరువాత, కొనసాగండి మరియు కాన్ఫిగరేషన్ ఫైల్ను తెరవండి
ఎందుకంటే haproxy.cfgచూపిన విధంగా మీరు సవరణలు చేశారని నిర్ధారించుకోండి
#------------------------------------------------ ----------------------# గ్లోబల్ సెట్టింగ్లు
#------------------------------------------------ ----------------------
ప్రపంచ
లాగ్ 127.0.0.1 లోకల్2 #లాగ్ కాన్ఫిగరేషన్
chroot / ఉంది / లిబ్ / హాప్రాక్సీ
పిడిఫైల్ / ఉంది / పరుగు / haproxy.pid
maxconn 4000
వినియోగదారు హాప్రాక్సీ #Haproxy వినియోగదారు మరియు సమూహం 'haproxy' క్రింద నడుస్తుంది
సమూహం హాప్రాక్సీ
డెమన్
# గణాంకాల యునిక్స్ సాకెట్ని ఆన్ చేయండి
గణాంకాల సాకెట్ / ఉంది / లిబ్ / హాప్రాక్సీ / గణాంకాలు
#------------------------------------------------ ----------------------
అన్ని 'వినండి' మరియు 'బ్యాకెండ్' విభాగాలు చేసే # సాధారణ డిఫాల్ట్లు
# వారి బ్లాక్లో నియమించబడకపోతే ఉపయోగించండి
#------------------------------------------------ ----------------------
డిఫాల్ట్లు
మోడ్ http
లాగ్ గ్లోబల్
ఎంపిక httplog
ఎంపిక dontlognull
ఎంపిక http-server-close
127.0.0.0 మినహా కోసం ఫార్వార్డ్ ఎంపిక / 8
ఎంపిక మళ్లీ పంపడం
మళ్లీ ప్రయత్నిస్తుంది 3
సమయం ముగిసింది http-అభ్యర్థన 10సె
గడువు ముగిసిన క్యూ 1మీ
గడువు ముగిసింది కనెక్ట్ 10సె
గడువు ముగిసిన క్లయింట్ 1ని
గడువు ముగిసిన సర్వర్ 1ని
సమయం ముగిసింది http-keep-alive 10s
గడువు ముగిసిన చెక్ 10సె
maxconn 3000
#------------------------------------------------ ----------------------
#HAProxy మానిటరింగ్ కాన్ఫిగరేషన్
#------------------------------------------------ ----------------------
హాప్రాక్సీ3-పర్యవేక్షణను వినండి * : 8080 #Haproxy మానిటరింగ్ పోర్ట్ 8080లో నడుస్తుంది
మోడ్ http
ఫార్వార్డ్ కోసం ఎంపిక
ఎంపిక httpclose
గణాంకాలు ప్రారంభించు
గణాంకాలు షో-లెజెండ్స్
గణాంకాలు రిఫ్రెష్ 5సె
గణాంకాలు uri / గణాంకాలు HAProxy పర్యవేక్షణ కోసం #URL
గణాంకాలు రాజ్యం Haproxy \ గణాంకాలు
గణాంకాల auth పాస్వర్డ్123: పాస్వర్డ్123 పర్యవేక్షణ డాష్బోర్డ్కి లాగిన్ చేయడానికి #వినియోగదారు మరియు పాస్వర్డ్
గణాంకాల నిర్వాహకుడు ఉంటే నిజం
default_backend app-main #ఇది బ్యాకెండ్ని పర్యవేక్షించడానికి ఐచ్ఛికంగా ఉంటుంది
#------------------------------------------------ ----------------------
# ఫ్రంట్ఎండ్ కాన్ఫిగరేషన్
#------------------------------------------------ ----------------------
ఫ్రంటెండ్ ప్రధాన
కట్టు * : 80
ఎంపిక http-server-close
ఫార్వార్డ్ కోసం ఎంపిక
default_backend app-main
#------------------------------------------------ ----------------------
# బ్యాలెన్స్ అల్గారిథమ్గా బ్యాక్ఎండ్ రౌండ్ రాబిన్
#------------------------------------------------ ----------------------
బ్యాకెండ్ యాప్-మెయిన్
బ్యాలెన్స్ రౌండ్రోబిన్ #బ్యాలెన్స్ అల్గోరిథం
ఎంపిక httpchk HEAD / HTTP / 1.1 \r\nహోస్ట్:\ లోకల్ హోస్ట్
#సర్వర్ అప్లికేషన్ను తనిఖీ చేయండి మరియు ఆరోగ్యంగా ఉంది - 200 స్థితి కోడ్
సర్వర్ సర్వర్_01 3.19.229.234: 80 తనిఖీ #Nginx1
సర్వర్ సర్వర్_02 3.17.9.217: 80 తనిఖీ #Nginx2
చివరి రెండు లైన్లలో సూచించిన విధంగా వెబ్ సర్వర్ల హోస్ట్ పేరు మరియు IP చిరునామాలను సవరించాలని నిర్ధారించుకోండి. మార్పులను సేవ్ చేసి నిష్క్రమించండి.
HAProxy గణాంకాలను లాగ్ చేయగలిగేలా Rsyslogని కాన్ఫిగర్ చేయడం తదుపరి దశ.
# ఎందుకంటే / మొదలైనవి / rsyslog.confUDP కనెక్షన్లను అనుమతించడానికి మీరు దిగువ లైన్లను అన్కామెంట్ చేశారని నిర్ధారించుకోండి
$ModLoad imudp$UDPServerRun 514
తరువాత, కొనసాగండి మరియు కొత్త కాన్ఫిగరేషన్ ఫైల్ను సృష్టించండి haproxy.conf
# ఎందుకంటే / మొదలైనవి / rsyslog.d / haproxy.confకింది పంక్తులను అతికించండి, సేవ్ చేసి నిష్క్రమించండి
స్థానిక2.=సమాచారం / ఉంది / లాగ్ / haproxy-access.log #యాక్సెస్ లాగ్ కోసంస్థానిక2.నోటీస్ / ఉంది / లాగ్ / haproxy-info.log #సేవ సమాచారం కోసం - బ్యాకెండ్, లోడ్ బ్యాలెన్సర్
మార్పులు అమలులోకి రావడానికి చూపిన విధంగా rsyslog డెమోన్ని పునఃప్రారంభించండి:
# systemctl rsyslogని పునఃప్రారంభించండిఆపై HAProxyని ప్రారంభించి, ప్రారంభించండి
# systemctl ప్రారంభం rsyslog# systemctl rsyslogని ఎనేబుల్ చేస్తుంది
HAProxy అమలవుతుందని ధృవీకరించండి
# systemctl స్థితి rsyslogదశ 3: Nginxని ఇన్స్టాల్ చేసి కాన్ఫిగర్ చేయండి
ఇప్పుడు, Nginx యొక్క ఇన్స్టాలేషన్ మాత్రమే మిగిలి ఉంది. ప్రతి సర్వర్లోకి లాగిన్ అవ్వండి మరియు ముందుగా సిస్టమ్ ప్యాకేజీలను నవీకరించండి:
# yum నవీకరణతదుపరి ఇన్స్టాల్ EPEL (Enterprise Linux కోసం అదనపు ప్యాకేజీలు)
# yum ఇన్స్టాల్ చేయండి వెచ్చని విడుదలNginxని ఇన్స్టాల్ చేయడానికి, ఆదేశాన్ని అమలు చేయండి:
# yum ఇన్స్టాల్ చేయండి nginxతరువాత, Nginxని ప్రారంభించి, ప్రారంభించండి
# systemctl ప్రారంభం nginx# systemctl nginxని ఎనేబుల్ చేస్తుంది
లోడ్ బ్యాలెన్సర్ రెండు సర్వర్లలో వెబ్ ట్రాఫిక్ని ఎలా పంపిణీ చేయగలదో ప్రదర్శించడానికి లేదా అనుకరించడానికి మేము రెండు సందర్భాల్లోనూ index.html ఫైల్ను సవరించబోతున్నాము.
సర్వర్_01 కోసం
# ప్రతిధ్వని 'server_01. హే ! మొదటి వెబ్ సర్వర్కి స్వాగతం' > index.htmlసర్వర్ కోసం_02
# ప్రతిధ్వని 'server_02. హే ! రెండవ వెబ్ సర్వర్కు స్వాగతం' > index.htmlమార్పులు ప్రభావితం కావడానికి, Nginxని పునఃప్రారంభించండి
# systemctl nginxని పునఃప్రారంభించండిదశ 4: లోడ్ బ్యాలెన్సర్ పనిచేస్తుందో లేదో పరీక్షించడం
మేము కాన్ఫిగరేషన్ పనిచేస్తుందో లేదో చూడాలనుకుంటున్నాము. కాబట్టి లోడ్ బాలన్సర్లోకి లాగిన్ అవ్వండి మరియు కర్ల్ కమాండ్ను పదేపదే అమలు చేయండి
# కర్ల్ 3.17.12.132మీరు సర్వర్_01 మరియు సర్వర్_02 నుండి index.html విలువను చూపే టెర్మినల్లో ప్రత్యామ్నాయ అవుట్పుట్ను పొందాలి
ఇప్పుడు వెబ్ బ్రౌజర్ని ఉపయోగించి పరీక్షిద్దాం. మీ లోడ్ బ్యాలెన్సర్ యొక్క IP చిరునామాను బ్రౌజ్ చేయండి
http: // load-balancer-IP-అడ్రస్మొదటి పేజీ ఏదైనా వెబ్ సర్వర్ నుండి కంటెంట్ను ప్రదర్శిస్తుంది
ఇప్పుడు వెబ్పేజీని రిఫ్రెష్ చేయండి మరియు అది ఇతర వెబ్ సర్వర్ నుండి కంటెంట్ను ప్రదర్శిస్తుందో లేదో తనిఖీ చేయండి
పర్ఫెక్ట్! లోడ్ బ్యాలెన్స్ రెండు వెబ్ సర్వర్ల మధ్య సమానంగా IP ట్రాఫిక్ను పంపిణీ చేస్తోంది!
మీరు CentOS 8లో HAProxyని ఎలా ఇన్స్టాల్ చేయవచ్చు మరియు కాన్ఫిగర్ చేయవచ్చు అనేదానిపై ఈ ట్యుటోరియల్ను ఇది పూర్తి చేస్తుంది. మీ అభిప్రాయం చాలా ప్రశంసించబడుతుంది.