हमें से ज्यादातर लोग ब्लॉगिंग कैरियर की शुरुआत शेयर्ड होस्टिंग प्लान के सस्ते होस्टिंग प्लान से करते हैं। इसके बाद जब हमारे वेबसाइट पर ट्रैफिक बढ़ता है, तो हम VPS (Virtual Private Server) या क्लाउड होस्टिंग पर अपने पूरे वेबसाइट को माइग्रेट कर लेते हैं। एक समय ऐसा भी आता है कि हमारी वेबसाइट पर इतना ज्यादा ट्रैफिक आ जाता है जिसे सामान्य तौर पर हमारा सरवर संभाल नहीं पाता है। ऐसी परिस्थिति में हमें लोड बैलेंसर (Load Balancer) सेटअप करने की आवश्यकता होती है। ऐसे तो मार्केट में आपको बहुत सारे लोड बैलेंसर जैसे कि Network load balancer और क्लाउड लोड बैलेंसर मिल जाएंगे। लेकिन इस तरह के लोड बैलेंसर के लिए आपको ज्यादा पैसे खर्च करने की जरूरत होती है। ऐसे में आपके पास क्या विकल्प है। आप Haproxcy Load balancer का इस्तेमाल अपने वेबसाइट की ट्राफिक को बैलेंस करने के लिए कर सकते हैं। Haproxcy , एक Open Source Reverse Proxy लोड बैलेंसर के रूप में जाना जाता है। आज के हमारे इस लेख में हम यह बताएंगे कि आप किस तरह से Setup Haproxcy Load balancer for WordPress – अपने वर्डप्रेस वेबसाइट के लिए फ्री लोड बैलेंसर सेट अप करें?
आगे बढ़ने से पहले आपको यह पता होना चाहिए कि Haproxcy क्या होता है? इसके साथ ही हम यहां पर यह जानकारी भी देंगे कि आप किस तरह से पूरी तरह से अपने वर्डप्रेस की वेबसाइट को लोड बैलेंसर के जरिए ट्राफिक को बैलेंस कर सकते हैं।
Setup Haproxcy Load balancer for WordPress – अपने वर्डप्रेस वेबसाइट के लिए फ्री लोड बैलेंसर सेट अप करें?
What is Haproxcy ? – एचएप्रोक्सी क्या होता है?
Haproxcy को परिभाषित करने से पहले, आपको यह पता होना चाहिए कि प्रॉक्सी का मतलब क्या होता है? प्रोक्सी के नाम से ही यह मतलब निकलता है कि ‘ किसी और की ओर से कार्य करना’ प्रोक्सी सर्वर उपयोगकर्ता नाम की ओर से संचालित होता है। इंटरनेट के लिए सभी अनुरोध एक सर्वर पर होंगे जो पहले अनुरोध को कैप्चर करता है, स्कैन करता है और इसे इंटरनेट पर स्थानांतरित करता है। इस तरह, प्रतिक्रियाएं प्रोक्सी सर्वर पर वापस आती है और फिर उपयोगकर्ता के पास पहुंचती है। Haproxcy भी आपके वेबसाइट के सर्वर के साथ यही कार्य करेगा। लेकिन, यहां पर ध्यान देने वाली बात यह है कि आप अपने वेबसाइट को दो सर्वर के जरिए होस्ट करते हैं। प्रोक्सी सर्वर सामान्य तौर पर दोनों सरवर पर आपके ट्राफिक को भेजता है। जिसे हम लोड बैलेंसर (Load Balancer) के रूप में जानते हैं।
Setup Haproxcy Load balancer on Ubuntu 20.04 TLS
हम अपने वर्डप्रेस वेबसाइट के लिए लोड बैलेंसर सेटअप करने के लिए Digital Ocean से 3 droplets VPS Server बनाएंगे। इसके लिए आप चाहे तो AWS या दूसरे क्लाउड सर्वर प्रोवाइडर वर्चुअल प्राइवेट सर्वर का इस्तेमाल कर सकते हैं।
अपने लिए वर्चुअल प्राइवेट सर्वर स्थापित करने से पहले या सुनिश्चित करने की कम से कम 2GB RAM के साथ आपको अपना तीनों वर्चुअल प्राइवेट सर्वर स्थापित करना है। हम पहले अपना वर्डप्रेस सर्वर स्थापित करेंगे। हम कुछ इस तरह से अपने क्लस्टर को स्थापित करने वाले हैं।
आप ऊपर दिए गए चित्र में यह देख सकते हैं कि हम अपना लिए, किस तरह का इंफ्रास्ट्रक्चर सेट अप करने वाले हैं। यहां पर हम 3 वर्चुअल प्राइवेट सर्वर स्थापित करेंगे।
- Haproxcy Server – 10.0.12.01 Ip Address
- WordPress Server 1 – 10.0.12.02
- WordPress Server 2 – 10.0.12.03
सबसे पहले आपको अपना WordPress Server 1 सेट अप करना है। ध्यान रहे कि हम यहां पर तीनों वर्चुअल प्राइवेट सर्वर Ubuntu 20.04 TLS का इस्तेमाल कर रहे हैं। हम अपना पहला सरवर पर वर्डप्रेस को इंस्टॉल करेंगे। इसके लिए आप अपने टर्मिनल के पहले सर्वर पर निम्नलिखित कमांड डाल कर के वर्डप्रेस को इंस्टॉल कर सकते हैं।
Sudo apt update && Upgrade
इस कमांड को डालने से आपके वर्चुअल प्राइवेट सर्वर पर उपलब्ध सभी एप्लीकेशन अपडेट और अपग्रेड हो जाती है। अब आपको अपने वर्चुअल प्राइवेट सर्वर पर वर्डप्रेस को इंस्टॉल करना है। इसके लिए आप अपने टर्मिनल पर निम्नलिखित कमांड डालें।
आगे बढ़ने से पहले हम अपने वर्चुअल प्राइवेट सर्वर पर कुछ बेसिक सेटिंग कर लेंगे। जिससे कि हमारे वर्डप्रेस की वेबसाइट अच्छी तरह से वर्चुअल प्राइवेट सर्वर पर चल सके। इसके लिए हम अपने VPS पर LAMP Stack को इंस्टॉल करेंगे। LAMP सरवर एप्लीकेशन का Stack होता है जिसके अंतर्गत L- Linux, A- Apache, M – MySQL, P – PHPmyAdmin होता है।
इस पूरे एप्लीकेशन को आप एक-एक करके भी इंस्टॉल कर सकते हैं। लेकिन हम यहां पर Digital Ocean के मार्केट प्लेस में जाकर के सीधे LAMP stack के साथ अपने वर्चुअल प्राइवेट सर्वर को स्थापित कर लेंगे। क्योंकि इसे स्थापित करना काफी आसान होता है। अगर आप एक नए खिलाड़ी है, तो हो सकता है कि आपको LAMP Stack को एक-एक करके इंस्टॉल करने में दिक्कत आ सकती है। आपकी सुविधा के लिए हम यहां पर सीधे डिजिटल ओसियन के मार्केटप्लेस से LAMP Stack के साथ अपना वर्चुअल प्राइवेट सर्वर स्थापित कर लेंगे।
# cd /tmp
# curl -O https://wordpress.org/latest.tar.gz
# tar xzvf latest.tar.gz
दूसरे विकल्प के तौर पर हम यह भी कर सकते हैं कि सीधे हम Digital Ocean के मार्केटप्लेस से WordPress with LAMP Stack के साथ अपना पहला वर्डप्रेस सरवर स्थापित कर लेंगे। अब आप इसमें अपने वेबसाइट अगर आपका कोई पुराना है तो उसे माइग्रेट कर सकते हैं।
WordPress Server 2 को स्थापित करने के लिए हम अपने पहले वर्डप्रेस WordPress Server 1 का Snapshots ले लेंगे और इसके जरिए हम अपना दूसरा वर्डप्रेस सरवर स्थापित कर लेंगे।
हमने अभी तक अपना WordPress Server 1 – IP address – 10.0.12.02 और WordPress Server 2 – IP address – 10.0.12.03 सेटअप कर लिया है। अब हमें अपने वर्डप्रेस क्लस्टर के लिए अगर आप हाई लेवल प्रोडक्शन चाहते हैं तो MySQL database Replication और Server File Synchronization के लिए Unision को अपने वर्चुअल प्राइवेट सर्वर पर सेटअप कर सकते हैं।
हालांकि, आज के हमारे इस आर्टिकल में हम इन दोनों विषयों पर चर्चा नहीं करने वाले हैं। आज हम केवल Haproxcy को अपने वर्डप्रेस के वेबसाइट के लिए लोड बैलेंसर के रूप में कैसे स्थापित करें? इसी पर ध्यान केंद्रित करेंगे। अभी तक हमारी दोनों वर्डप्रेस की सरवर स्थापित हो चुकी है।
Haproxcy Server, के लिए हम एक दूसरा वर्चुअल प्राइवेट सर्वर डिजिटल ओसियन पर सेटअप करेंगे। मान लेते हैं कि Haproxcy Server – Ip address – 10.0.12.01 पर हम इंस्टॉल करने वाले हैं। इसके लिए अपने तीसरे वर्चुअल प्राइवेट सर्वर के टर्मिनल पर आप निम्नलिखित कमांड को डालें।
sudo update && upgrade
अब आपको निम्नलिखित कमांड डाल कर के Haproxcy को VPS प्राइवेट सर्वर पर इंस्टॉल करना है।
apt-get install haproxy
इस कमांड को डालने के बाद आपके वर्चुअल प्राइवेट सर्वर पर Haproxcy install होना शुरू हो जाएगी। इसे इंस्टॉल होने में 2 से 3 मिनट लग सकते हैं। इसके बाद आपको इसे लोड बैलेंसर के लिए कॉन्फ़िगर कर करना होता है। इंस्टॉलेशन कंप्लीट हो जाने के बाद, यह कमांड डाल कर के आप इसका कंफीग्रेशन फाइल खोल सकते हैं।
sudo nano /etc/haproxy/haproxy.cfg
जैसे ही आप यह कमांड डालते हैं आपके सामने कुछ इस तरह का फाइल खुल कर के सामने आता है।
global
# master-worker required for `program` section
# enable here or start with -Ws
master-worker
mworker-max-reloads 3
# enable core dumps
set-dumpable
user haproxy
group haproxy
log stdout local0
stats socket 127.0.0.1:9999 level admin expose-fd listeners
tune.ssl.default-dh-param 2048
ध्यान रहे आपको यहां पर कुछ भी नहीं करना है। आप अपने वर्डप्रेस वेबसाइट को roundrobin algorithm की मदद से ट्राफिक को बैलेंस करेंगे। इसके लिए आप Configuration file के सबसे नीचे लास्ट में आ जाएं। और वहां पर आप निम्नलिखित कमांड को डाल दें।
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
WordPress server1 10.0.12.02:80 check
WordPress server2 10.0.12.03:80 check
backend blog_back
server <server name> <private IP>:80 check
यहां पर आपको Server 1, 10.0.12.02 के बदले अपने वर्डप्रेस वेबसाइट का सर्वर आईपी ऐड्रेस और Server 2, 10.0.12.03 के बदले अपने दूसरे वर्डप्रेस वेबसाइट का सर्वर आईपी ऐड्रेस डालना है। इसके बाद आप इस फाइल को सेव करके बाहर निकल जाइए।
अब आप अपने टर्मिनल पर, निम्नलिखित कमांड को डालकर के अपना एचएप्रोक्सी सरवर को फिर से चालू कर सकते हैं।
sudo systemctl restart haproxy
HAProxy कॉन्फ़िगर और चलने के साथ, अपने लोड बैलेंसर सर्वर के सार्वजनिक आईपी को एक वेब ब्राउज़र में खोलें और जांचें कि आप अपने बैकएंड से सही तरीके से जुड़े हैं। कॉन्फ़िगरेशन में पैरामीटर stats uri निर्धारित पते पर आंकड़े पृष्ठ को सक्षम करता है।
http://<load balancer public IP>/haproxy?stats
जब आप आंकड़े पृष्ठ लोड करते हैं और आपके सभी सर्वर हरे रंग में सूचीबद्ध होते हैं तो आपका कॉन्फ़िगरेशन सफल रहा!
बधाई हो आपने सफलतापूर्वक Haproxcy Load balancer को अपने वर्डप्रेस वेबसाइट के लिए स्थापित कर लिया है।
निष्कर्ष
हमारे इस लेख में हमने आप लोगों को इस बारे में जानकारी उपलब्ध कराई है कि आप किस तरह से Setup Haproxcy Load balancer for WordPress – अपने वर्डप्रेस वेबसाइट के लिए फ्री लोड बैलेंसर सेट अप करें? Haproxcy एक ओपन सोर्स सरवर एप्लीकेशन है। जिसके लिए आपको किसी भी तरह का शुल्क अदा नहीं करना पड़ता है। इंटरनेट पर मौजूद बहुत से वेबसाइट इसका इस्तेमाल अपने वेबसाइट में ट्राफिक को बैलेंस करने के लिए करते हैं। आपको हमारा आज का यह ट्यूटोरियल गाइड कैसा लगा। हमें कमेंट बॉक्स में कमेंट करके जरूर बताएं, इससे संबंधित अगर आप के कुछ सवाल एवं सुझाव है तो आप हमें कमेंट बॉक्स में कमेंट करके बता सकते हैं।