CentOS 8 में Nginx के लिए लोड बैलेंसर के रूप में HAProxy को कैसे सेटअप करें

Centos 8 Mem Nginx Ke Li E Loda Bailensara Ke Rupa Mem Haproxy Ko Kaise Seta Apa Karem



उच्च उपलब्धता प्रॉक्सी, जिसे HAProxy के रूप में भी संक्षिप्त किया गया है, एक हल्का और तेज़ लोड बैलेंसर है जो प्रॉक्सी सर्वर के रूप में भी दोगुना हो जाता है। लोड बैलेंसर के रूप में, यह कुछ मानदंडों का उपयोग करके आने वाले वेब ट्रैफ़िक को कई वेब सर्वरों में वितरित करने में महत्वपूर्ण भूमिका निभाता है। ऐसा करने में, यह उच्च उपलब्धता और गलती सहनशीलता को सुनिश्चित करता है जब बहुत अधिक समवर्ती अनुरोध होते हैं जो एक वेब सर्वर को अधिभारित कर सकते हैं।

HaProxy का उपयोग Tumblr, GitHub, और StackOverflow जैसी लोकप्रिय साइटों द्वारा किया जाता है। इस गाइड में, हम आपको Nginx का उपयोग करके संचालित वेबसर्वर के सेटअप में HAProxy की स्थापना के बारे में बताएंगे।

लैब सेटअप

दिखाए गए अनुसार CentOS 7 सर्वर के 3 उदाहरण







होस्टनाम           आईपी पते

load_balancer      3.17.12.132
सर्वर_01          3.19.229.234
सर्वर_02          3.17.9.217

चरण 1: लोड बैलेंसर के लिए /etc/host फ़ाइल संपादित करें

शुरू करने के लिए, लोड बैलेंसर सिस्टम में लॉग इन करें और दिखाए गए अनुसार दो वेब सर्वरों के होस्टनाम और आईपी पते शामिल करने के लिए /etc/host फ़ाइल को संशोधित करें



$ चूंकि / आदि / मेजबान
3.19.229.234 सर्वर_01
3.17.9.217     सर्वर-02



एक बार हो जाने पर, परिवर्तनों को सहेजें और कॉन्फ़िगरेशन फ़ाइल से बाहर निकलें।





अब प्रत्येक वेब सर्वर पर जाएं और इसे अपडेट करें /आदि/होस्ट आईपी ​​​​एड्रेस और लोड बैलेंसर के होस्टनाम के साथ फाइल करें

3.17.12.132 लोड-बैलेंसर

इसके बाद, पुष्टि करें कि आप सर्वर_01 से लोड बैलेंसर को पिंग कर सकते हैं



और इसी तरह server_02

साथ ही, सुनिश्चित करें कि आप लोड बैलेंसर से सर्वर को पिंग कर सकते हैं।

उत्तम ! सभी सर्वर लोड बैलेंसर के साथ संचार कर सकते हैं!

चरण 2: लोड बैलेंसर पर HA प्रॉक्सी को स्थापित और कॉन्फ़िगर करें

क्योंकि HA प्रॉक्सी CentOS आधिकारिक रिपॉजिटरी से आसानी से उपलब्ध है, हम इसे yum या dnf पैकेज मैनेजर का उपयोग करके इंस्टॉल करने जा रहे हैं।

लेकिन हमेशा की तरह पहले सिस्टम को अपडेट करें

# यम अद्यतन

अगला, दिखाए गए अनुसार HA प्रॉक्सी स्थापित करें

# यम स्थापित करें haproxy

सफल स्थापना पर, haproxy निर्देशिका पर नेविगेट करें।

# सीडी / आदि / haproxy

सर्वोत्तम अभ्यास के लिए आवश्यक है कि हम कोई भी संशोधन करने से पहले किसी भी कॉन्फ़िगरेशन फ़ाइल का बैकअप लें। इसलिए बैकअप करें haproxy.cfg फ़ाइल का नाम बदलकर।

# एमवी haproxy.cfg  haproxy.cfg.bak

अगला, आगे बढ़ें और कॉन्फ़िगरेशन फ़ाइल खोलें

चूंकि haproxy.cfg

सुनिश्चित करें कि आप दिखाए गए अनुसार संशोधन करें

#---------------------------------------------------------------- --------------------
# वैश्विक व्यवस्था
#---------------------------------------------------------------- --------------------
वैश्विक
लॉग          127.0.0.1 स्थानीय2 # लॉग कॉन्फ़िगरेशन

चुरोट / था / उदारीकरण / haproxy
pidefile / था / दौड़ना / haproxy.pid
maxconn 4000
उपयोगकर्ता        हैप्रोक्सी #Haproxy उपयोगकर्ता और समूह 'haproxy' के अंतर्गत चल रहा है
समूह       हैप्रोक्सी
daemon

# आँकड़े यूनिक्स सॉकेट चालू करें
आँकड़े सॉकेट / था / उदारीकरण / haproxy / आँकड़े

#---------------------------------------------------------------- --------------------
# सामान्य डिफ़ॉल्ट जो सभी 'सुनें' और 'बैकएंड' अनुभाग करेंगे
# उपयोग करें यदि उनके ब्लॉक में निर्दिष्ट नहीं है
#---------------------------------------------------------------- --------------------
चूक
मोड                    http
लॉग करें                     वैश्विक
विकल्प                  httplog
विकल्प                  dontlognull
विकल्प http-सर्वर-बंद करें
127.0.0.0 को छोड़कर       के लिए विकल्प अग्रेषित करें / 8
विकल्प                  फिर से भेजना
पुनर्प्रयास 3
टाइमआउट http-अनुरोध    10s
समय समाप्त कतार           1मी
टाइमआउट कनेक्ट         10s
टाइमआउट क्लाइंट          1मी
टाइमआउट सर्वर          1मी
टाइमआउट http-कीप-लाइव 10s
टाइमआउट चेक           10s
maxconn 3000

#---------------------------------------------------------------- --------------------
#HAProxy मॉनिटरिंग कॉन्फिग
#---------------------------------------------------------------- --------------------
haproxy3- निगरानी सुनो * : 8080 #Haproxy मॉनिटरिंग पोर्ट 8080 पर चलता है
मोड http
आगे के लिए विकल्प
विकल्प httpबंद
आँकड़े सक्षम
आँकड़े शो-किंवदंतियाँ
आँकड़े 5s ताज़ा करें
आँकड़े यूरी / आँकड़े HAProxy निगरानी के लिए #URL
stats realm Haproxy\ स्टैटिस्टिक्स
आँकड़े प्रमाणीकरण Password123: Password123 निगरानी डैशबोर्ड में लॉग इन करने के लिए #उपयोगकर्ता और पासवर्ड
आँकड़े व्यवस्थापक यदि सच
default_backend ऐप-मेन # यह वैकल्पिक रूप से बैकएंड की निगरानी के लिए है

#---------------------------------------------------------------- --------------------
# फ्रंटएंड कॉन्फ़िगरेशन
#---------------------------------------------------------------- --------------------
दृश्यपटल मुख्य
बाँधना * : 80
विकल्प http-सर्वर-बंद करें
आगे के लिए विकल्प
default_backend ऐप-मेन

#---------------------------------------------------------------- --------------------
# बैकएंड राउंड रॉबिन बैलेंस एल्गोरिथम के रूप में
#---------------------------------------------------------------- --------------------
बैकएंड ऐप-मेन

बैलेंस राउंडरॉबिन # बैलेंस एल्गोरिथम

विकल्प httpchk HEAD / एचटीटीपी / 1.1 \r\nहोस्ट:\ लोकलहोस्ट
# जांचें कि सर्वर एप्लिकेशन चालू है और ठीक है - 200 स्थिति कोड

सर्वर सर्वर_01 3.19.229.234: 80 चेक #Nginx1

सर्वर सर्वर_02 3.17.9.217: 80 चेक #Nginx2

अंतिम दो पंक्तियों में बताए अनुसार वेब सर्वर होस्टनाम और आईपी पते को संशोधित करना सुनिश्चित करें। परिवर्तनों को सहेजें और बाहर निकलें।

HAProxy आँकड़ों को लॉग करने में सक्षम होने के लिए अगला कदम Rsyslog को कॉन्फ़िगर करना होगा।

# चूंकि / आदि / rsyslog.conf

UDP कनेक्शन को अनुमति देने के लिए सुनिश्चित करें कि आपने नीचे दी गई पंक्तियों को अनकमेंट किया है

$मॉडलोड imudp
$UDPServerRun 514

अगला, आगे बढ़ें और एक नई कॉन्फ़िगरेशन फ़ाइल बनाएँ haproxy.conf

# चूंकि / आदि / rsyslog.d / haproxy.conf

निम्नलिखित पंक्तियों को चिपकाएँ, सहेजें और बाहर निकलें

local2.=info / था / लॉग / haproxy-access.log # एक्सेस लॉग के लिए
स्थानीय2.नोटिस / था / लॉग / haproxy-info.log # सेवा की जानकारी के लिए - बैकएंड, लोडबैलेंसर

परिवर्तनों को प्रभावी करने के लिए rsyslog डेमॉन को दिखाए अनुसार पुनरारंभ करें:

# systemctl rsyslog को पुनरारंभ करें

फिर HAProxy को प्रारंभ और सक्षम करें

#systemctl स्टार्ट rsyslog
# systemctl rsyslog को सक्षम करें

सत्यापित करें कि HAProxy चल रहा है

# systemctl स्थिति rsyslog

चरण 3: Nginx को स्थापित और कॉन्फ़िगर करें

अब, केवल शेष भाग Nginx की स्थापना है। प्रत्येक सर्वर में लॉग इन करें और पहले सिस्टम पैकेज को अपडेट करें:

# यम अद्यतन

अगला इंस्‍टॉल  EPEL (एंटरप्राइज़ Linux के लिए अतिरिक्‍त पैकेज)

# यम स्थापित करें गर्म रिहाई

Nginx को स्थापित करने के लिए कमांड चलाएँ:

# यम स्थापित करें 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

आपको server_01 और server_02 से index.html  का मान दिखाते हुए टर्मिनल पर वैकल्पिक आउटपुट प्राप्त करना चाहिए

अब एक वेब ब्राउज़र का उपयोग करके परीक्षण करते हैं। अपने लोड बैलेंसर का आईपी पता ब्राउज़ करें

एचटीटीपी: // लोड-बैलेंसर-आईपी-पता

प्रथम पृष्ठ किसी भी वेब सर्वर से सामग्री प्रदर्शित करेगा


अब वेबपेज को रिफ्रेश करें और यह देखने के लिए जांचें कि क्या यह अन्य वेब सर्वर से सामग्री प्रदर्शित करता है

उत्तम ! भार संतुलन दो वेब सर्वरों के बीच समान रूप से IP ट्रैफ़िक वितरित कर रहा है!
यह इस ट्यूटोरियल को समाप्त करता है कि आप CentOS 8 पर HAProxy को कैसे स्थापित और कॉन्फ़िगर कर सकते हैं। आपकी प्रतिक्रिया की बहुत सराहना की जाएगी।