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.confUDP कनेक्शन को अनुमति देने के लिए सुनिश्चित करें कि आपने नीचे दी गई पंक्तियों को अनकमेंट किया है
$मॉडलोड 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 को कैसे स्थापित और कॉन्फ़िगर कर सकते हैं। आपकी प्रतिक्रिया की बहुत सराहना की जाएगी।