CentOS 8 میں Nginx کے لیے HAProxy کو لوڈ بیلنسر کے طور پر کیسے ترتیب دیا جائے۔

Centos 8 My Nginx K Ly Haproxy Kw Lw Bylnsr K Twr Pr Kys Trtyb Dya Jay



اعلی دستیابی پراکسی، جسے مختصراً HAProxy بھی کہا جاتا ہے ایک ہلکا پھلکا اور تیز لوڈ بیلنس ہے جو پراکسی سرور کے طور پر بھی دوگنا ہو جاتا ہے۔ لوڈ بیلنسر کے طور پر، یہ آنے والی ویب ٹریفک کو متعدد ویب سرورز پر مخصوص معیارات کا استعمال کرتے ہوئے تقسیم کرنے میں اہم کردار ادا کرتا ہے۔ ایسا کرنے سے، یہ اعلی دستیابی اور غلطی کی برداشت کو یقینی بناتا ہے اس صورت میں کہ بہت زیادہ ہم آہنگی درخواستیں ہوں جو ایک ویب سرور کو اوورلوڈ کر سکتی ہیں۔

HaProxy کو مقبول سائٹس جیسے Tumblr، GitHub، اور StackOverflow کے ذریعے استعمال کیا جاتا ہے۔ اس گائیڈ میں، ہم آپ کو HAProxy کی انسٹالیشن کے ذریعے ویب سرورز کے سیٹ اپ میں لے جائیں گے جو Nginx کے استعمال سے چلتے ہیں۔

لیب سیٹ اپ

سینٹوس 7 سرورز کی 3 مثالیں جیسا کہ دکھایا گیا ہے۔







میزبان نام            IP پتے

load_balancer       3.17.12.132
سرور_01          3.19.229.234
سرور_02          3.17.9.217

مرحلہ 1: لوڈ بیلنسر کے لیے /etc/hosts فائل میں ترمیم کریں۔

شروع کرنے کے لیے، لوڈ بیلنس سسٹم میں لاگ ان کریں اور /etc/hosts فائل میں ترمیم کریں تاکہ دکھائے گئے دو ویب سرورز کے میزبان نام اور IP پتے شامل ہوں۔



$ کیونکہ / وغیرہ / میزبان
3.19.229.234   سرور_01
3.17.9.217     سرور-02



ایک بار کام کرنے کے بعد، تبدیلیوں کو محفوظ کریں اور کنفیگریشن فائل سے باہر نکلیں۔





اب ہر ایک ویب سرور پر جائیں اور اپ ڈیٹ کریں۔ /etc/hosts لوڈ بیلنسر کے IP ایڈریس اور میزبان نام کے ساتھ فائل

3.17.12.132   لوڈ بیلنسر

اس کے بعد، تصدیق کریں کہ آپ سرور_01 سے لوڈ بیلنس کو پنگ کر سکتے ہیں۔



اور اسی طرح سرور_02 سے

اس کے علاوہ، اس بات کو یقینی بنائیں کہ آپ لوڈ بیلنسر سے سرورز کو پنگ کر سکتے ہیں۔

کامل! تمام سرورز لوڈ بیلنسر کے ساتھ بات چیت کر سکتے ہیں!

مرحلہ 2: لوڈ بیلنسر پر HA پراکسی کو انسٹال اور کنفیگر کریں۔

چونکہ HA Proxy CentOS آفیشل ریپوزٹری سے آسانی سے دستیاب ہے، اس لیے ہم اسے yum یا dnf پیکیج مینیجر کا استعمال کرتے ہوئے انسٹال کرنے جا رہے ہیں۔

لیکن ہمیشہ کی طرح، پہلے سسٹم کو اپ ڈیٹ کریں۔

# yum اپ ڈیٹ

اگلا، جیسا کہ دکھایا گیا ہے HA پراکسی انسٹال کریں۔

# yum انسٹال کریں haproxy

کامیاب تنصیب پر، haproxy ڈائریکٹری پر جائیں۔

# سی ڈی / وغیرہ / haproxy

بہترین پریکٹس کا تقاضا ہے کہ ہم کوئی بھی ترمیم کرنے سے پہلے کسی بھی کنفیگریشن فائل کا بیک اپ لیں۔ تو بیک اپ haproxy.cfg فائل کا نام تبدیل کرکے۔

# mv haproxy.cfg  haproxy.cfg.bak

اگلا، آگے بڑھیں اور کنفیگریشن فائل کو کھولیں۔

کیونکہ haproxy.cfg

اس بات کو یقینی بنائیں کہ آپ ترمیم کریں جیسا کہ دکھایا گیا ہے۔

#------------------------------------------------ -----------------
# عالمی ترتیبات
#------------------------------------------------ -----------------
عالمی
log         127.0.0.1 local2 # لاگ کنفیگریشن

کروٹ / تھا / lib / haproxy
pidfile / تھا / رن / haproxy.pid
maxconn 4000
صارف۔ ہاپروکسی #Haproxy صارف اور گروپ 'haproxy' کے تحت چل رہا ہے
گروپر ہاپروکسی
ڈیمون

# اسٹیٹس یونکس ساکٹ کو آن کریں۔
اعدادوشمار کی ساکٹ / تھا / lib / haproxy / اعدادوشمار

#------------------------------------------------ -----------------
# عام ڈیفالٹس جو تمام 'سن' اور 'بیک اینڈ' سیکشنز کریں گے۔
# استعمال کریں اگر ان کے بلاک میں نامزد نہیں کیا گیا ہے۔
#------------------------------------------------ -----------------
ڈیفالٹس
موڈ                   http
log                     عالمی
اختیار                  httplog
آپشن                  dontlognull
آپشن http-server-close
127.0.0.0 کے علاوہ آگے کے لیے آپشن / 8
آپشن  دوبارہ بھیجنا
دوبارہ کوشش کریں 3
ٹائم آؤٹ http-request   10s
ٹائم آؤٹ قطار           1m
ٹائم آؤٹ کنیکٹ 10s
ٹائم آؤٹ کلائنٹ          1m
ٹائم آؤٹ سرور          1m
ٹائم آؤٹ http-keep-alive 10s
ٹائم آؤٹ چیک            10 سیکنڈ
maxconn 3000

#------------------------------------------------ -----------------
#HAProxy مانیٹرنگ کنفیگ
#------------------------------------------------ -----------------
haproxy3-مانیٹرنگ سنیں۔ * : 8080 #Haproxy مانیٹرنگ پورٹ 8080 پر چلتی ہے۔
موڈ http
آپشن فارورڈ
آپشن httpclose
اعدادوشمار فعال
اعدادوشمار دکھاتے ہیں۔
اعدادوشمار ریفریش 5s
اعدادوشمار uri / اعدادوشمار HAProxy کی نگرانی کے لیے #URL
stats realm Haproxy\ Statistics
stats auth Password123: Password123 # مانیٹرنگ ڈیش بورڈ میں لاگ ان کرنے کے لیے صارف اور پاس ورڈ
اعدادوشمار کے منتظم اگر سچ ہے۔
default_backend app-main # یہ اختیاری طور پر بیک اینڈ کی نگرانی کے لیے ہے۔

#------------------------------------------------ -----------------
# فرنٹ اینڈ کنفیگریشن
#------------------------------------------------ -----------------
فرنٹ اینڈ مین
باندھنا * : 80
آپشن http-server-close
آپشن فارورڈ
default_backend app-main

#------------------------------------------------ -----------------
# بیک اینڈ راؤنڈ رابن بطور بیلنس الگورتھم
#------------------------------------------------ -----------------
بیک اینڈ ایپ مین

راؤنڈ روبن کا توازن # بیلنس الگورتھم

آپشن httpchk ہیڈ / HTTP / 1.1 \r\nمیزبان:\ لوکل ہوسٹ
#چیک کریں کہ سرور ایپلیکیشن تیار ہے اور صحت مند ہے - 200 اسٹیٹس کوڈ

سرور سرور_01 3.19.229.234: 80 چیک کریں #Nginx1

سرور سرور_02 3.17.9.217: 80 چیک کریں #Nginx2

ویب سرورز کے میزبان نام اور IP پتوں میں ترمیم کرنا یقینی بنائیں جیسا کہ آخری دو سطروں میں اشارہ کیا گیا ہے۔ تبدیلیاں محفوظ کریں اور باہر نکلیں۔

اگلا مرحلہ HAProxy کے اعدادوشمار کو لاگ کرنے کے لیے Rsyslog کو ترتیب دینا ہوگا۔

# کیونکہ / وغیرہ / rsyslog.conf

یقینی بنائیں کہ آپ UDP کنکشن کی اجازت دینے کے لیے نیچے دی گئی لائنوں کو غیر تبصرہ کرتے ہیں۔

$ModLoad imudp
$UDPServerRun 514

اگلا، آگے بڑھیں اور ایک نئی کنفیگریشن فائل بنائیں haproxy.conf

# کیونکہ / وغیرہ / rsyslog.d / haproxy.conf

درج ذیل لائنوں کو چسپاں کریں، محفوظ کریں اور باہر نکلیں۔

local2.=info / تھا / لاگ / haproxy-access.log # رسائی لاگ کے لیے
local2.notice / تھا / لاگ / 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: جانچ کرنا کہ آیا لوڈ بیلنسر کام کر رہا ہے۔

ہم آخر کار اس مقام پر ہیں جہاں ہم دیکھنا چاہتے ہیں کہ آیا کنفیگریشن کام کر رہی ہے۔ لہذا لوڈ بیلنسر میں لاگ ان کریں اور بار بار curl کمانڈ پر عمل کریں۔

# curl 3.17.12.132

آپ کو سرور_01 اور سرور_02 سے index.html کی قدر دکھاتے ہوئے ٹرمینل پر متبادل آؤٹ پٹ ملنا چاہیے۔

اب ایک ویب براؤزر کا استعمال کرتے ہوئے ٹیسٹ کرتے ہیں۔ اپنے لوڈ بیلنسر کا آئی پی ایڈریس براؤز کریں۔

http: // لوڈ بیلنسر-آئی پی ایڈریس

پہلا صفحہ کسی بھی ویب سرور سے مواد دکھائے گا۔


اب ویب پیج کو ریفریش کریں اور چیک کریں کہ آیا یہ دوسرے ویب سرور سے مواد دکھاتا ہے۔

کامل! لوڈ بیلنس IP ٹریفک کو دو ویب سرورز کے درمیان یکساں طور پر تقسیم کر رہا ہے!
یہ اس ٹیوٹوریل کو سمیٹتا ہے کہ آپ CentOS 8 پر HAProxy کو کس طرح انسٹال اور کنفیگر کر سکتے ہیں۔ آپ کے تاثرات کو بہت سراہا جائے گا۔