كيفية إعداد HAProxy كموازن تحميل لـ Nginx في CentOS 8

Kyfyt A Dad Haproxy Kmwazn Thmyl L Nginx Fy Centos 8



الوكيل عالي الإتاحة ، والمختصر أيضًا باسم HAProxy هو موازن تحميل سريع وخفيف الوزن يتضاعف أيضًا كخادم وكيل. بصفته موازن تحميل ، فإنه يلعب دورًا مهمًا في توزيع حركة مرور الويب الواردة عبر خوادم ويب متعددة باستخدام معايير معينة. عند القيام بذلك ، فإنه يضمن التوافر العالي والتسامح مع الأخطاء في حالة وجود العديد من الطلبات المتزامنة التي قد تفرط في تحميل خادم ويب واحد.

يتم استخدام HaProxy بواسطة المواقع الشهيرة مثل Tumblr و GitHub و StackOverflow. في هذا الدليل ، سوف نأخذك خلال عملية تثبيت HAProxy في إعداد من خوادم الويب التي يتم تشغيلها باستخدام Nginx.

إعداد المعمل

3 مثيلات لخوادم CentOS 7 كما هو موضح







عناوين IP لاسم المضيف

load_balancer 3.17.12.132
server_01 3.19.229.234
server_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 موازن التحميل

بعد ذلك ، تأكد من أنه يمكنك اختبار اتصال موازن التحميل من server_01



وبالمثل من server_02

تأكد أيضًا من أنه يمكنك اختبار اتصال الخوادم من موازن التحميل.

في احسن الاحوال ! يمكن لجميع الخوادم التواصل مع موازن التحميل!

الخطوة 2: قم بتثبيت وتكوين HA Proxy على موازن التحميل

نظرًا لأن وكيل HA متاح بسهولة من مستودع CentOS الرسمي ، فسنقوم بتثبيته باستخدام مدير الحزم yum أو dnf.

ولكن كما هو الحال دائمًا ، قم بتحديث النظام أولاً

# تحديث يم

بعد ذلك ، قم بتثبيت HA Proxy كما هو موضح

# يم التثبيت هابروكسي

بعد التثبيت الناجح ، انتقل إلى دليل haproxy.

# قرص مضغوط / إلخ / هابروكسي

تتطلب أفضل الممارسات منا إجراء نسخ احتياطي لأي ملف تكوين قبل إجراء أي تعديلات. لذا النسخ الاحتياطي haproxy.cfg ملف عن طريق إعادة تسميته.

# م haproxy.cfg haproxy.cfg.bak

بعد ذلك ، تابع وافتح ملف التكوين

لان haproxy.cfg

تأكد من إجراء التعديل كما هو موضح

# ------------------------------------------------- --------------------
# الاعدادات العامة
# ------------------------------------------------- --------------------
عالمي
سجل 127.0.0.1 محلي 2 # تكوين السجل

الجذور / كنت / ليب / هابروكسي
ملف / كنت / يركض / haproxy.pid
ماكسكون 4000
المستخدم haproxy #Haproxy قيد التشغيل ضمن المستخدم والمجموعة 'haproxy'
مجموعة هابروكسي
شيطان

# تشغيل مقبس احصائيات يونكس
مقبس احصائيات / كنت / ليب / هابروكسي / احصائيات

# ------------------------------------------------- --------------------
# الافتراضيات الشائعة التي ستفعلها جميع أقسام 'الاستماع' و 'الخلفية'
# استخدم إذا لم يتم تحديدها في الكتلة الخاصة بهم
# ------------------------------------------------- --------------------
الافتراضات
وضع http
سجل عالمي
الخيار HTplog
الخيار dontlognull
الخيار http-server-close
إعادة توجيه للخيار باستثناء 127.0.0.0 / 8
إعادة إرسال الخيار
يعيد المحاولة 3
مهلة http-request 10s
مهلة الطابور 1 م
مهلة ربط 10 ثانية
العميل المهلة 1 م
خادم المهلة 1 م
مهلة http-keep-live 10s
تحقق مهلة 10s
ماكسكون 3000

# ------------------------------------------------- --------------------
#HAProxy تكوين المراقبة
# ------------------------------------------------- --------------------
الاستماع مراقبة haproxy3 * : 8080 # مراقبةHaproxy تعمل على المنفذ 8080
وضع http
خيار forwardfor
الخيار httpclose
احصائيات ممكن
احصائيات تظهر الاساطير
تحديث الإحصائيات 5 ثوان
احصائيات uri / احصائيات #URL لمراقبة HAProxy
احصائيات عالم هابروكسي \ الاحصائيات
احصائيات المصادقة Password123: Password123 #User and Password لتسجيل الدخول إلى لوحة تحكم المراقبة
احصائيات المشرف إذا صحيح
default_backend التطبيق الرئيسي # هذا اختياريًا لمراقبة الخلفية

# ------------------------------------------------- --------------------
# تكوين FrontEnd
# ------------------------------------------------- --------------------
الواجهة الرئيسية
ربط * : 80
الخيار http-server-close
خيار forwardfor
default_backend التطبيق الرئيسي

# ------------------------------------------------- --------------------
# BackEnd round robin كخوارزمية توازن
# ------------------------------------------------- --------------------
الواجهة الخلفية للتطبيق الرئيسي

التوازن الدائري # خوارزمية التوازن

الخيار httpchk رئيس / HTTP / 1.1 \ r \ n المضيف: \ localhost
# تحقق من أن تطبيق الخادم يعمل وصحي - 200 رمز الحالة

server_01 3.19.229.234: 80 التحقق من # Nginx1

server_02 3.17.9.217: 80 التحقق من # Nginx2

تأكد من تعديل اسم مضيف خوادم الويب وعناوين IP كما هو موضح في السطرين الأخيرين. احفظ التغييرات و اخرج.

ستكون الخطوة التالية هي تكوين Rsyslog لتتمكن من تسجيل إحصائيات HAProxy.

# لان / إلخ / rsyslog.conf

تأكد من إلغاء التعليق على الأسطر أدناه للسماح باتصالات UDP

ModLoad دولار imudp
UDPServer $ تشغيل 514

بعد ذلك ، تابع وأنشئ ملف تكوين جديد haproxy.conf

# لان / إلخ / rsyslog.d / haproxy.conf

الصق الأسطر التالية واحفظها واخرج منها

local2. = معلومات / كنت / سجل / haproxy-access.log # لسجل الوصول
local2.notice / كنت / سجل / haproxy-info.log #For Service Info - Backend، loadbalancer

لكي تصبح التغييرات سارية المفعول ، أعد تشغيل البرنامج الخفي لـ rsyslog كما هو موضح:

# إعادة تشغيل systemctl rsyslog

ثم ابدأ وتمكين HAProxy

# systemctl ابدأ rsyslog
# systemctl تمكين rsyslog

تحقق من تشغيل HAProxy

# systemctl حالة rsyslog

الخطوة 3: تثبيت وتكوين Nginx

الآن ، الجزء الوحيد المتبقي هو تثبيت Nginx. قم بتسجيل الدخول إلى كل خادم وقم بتحديث حزم النظام أولاً:

# تحديث يم

التثبيت التالي EPEL (حزم إضافية لنظام Linux Enterprise)

# يم التثبيت إطلاق دافئ

لتثبيت Nginx ، قم بتشغيل الأمر:

# يم التثبيت nginx

بعد ذلك ، ابدأ وتمكين Nginx

# systemctl ابدأ nginx
# systemctl تمكين nginx

سنقوم بعد ذلك بتعديل ملف index.html في كلتا الحالتين من أجل إظهار أو محاكاة كيفية قدرة موازن التحميل على توزيع حركة مرور الويب عبر كلا الخادمين.

لـ server_01

# صدى صوت 'server_01. مرحبًا! مرحبًا بك في خادم الويب الأول' > index.html

لـ server_02

# صدى صوت 'server_02. مرحبًا! مرحبًا بك في خادم الويب الثاني' > index.html

لكي يتم تنفيذ التغييرات ، أعد تشغيل Nginx

# إعادة تشغيل systemctl nginx

الخطوة 4: اختبار ما إذا كان موازن التحميل يعمل

لقد وصلنا أخيرًا إلى النقطة التي نريد أن نرى فيها ما إذا كان التكوين يعمل. لذا قم بتسجيل الدخول إلى موازن التحميل وتنفيذ الأمر curl بشكل متكرر

# حليقة 3.17.12.132

يجب أن تحصل على مخرجات بديلة على الجهاز الذي يظهر قيمة index.html من server_01 و server_02

دعنا الآن نختبر باستخدام متصفح الويب. تصفح عنوان IP لموازن التحميل الخاص بك

http: // تحميل موازن عنوان IP

ستعرض الصفحة الأولى المحتوى من أي من خوادم الويب


قم الآن بتحديث صفحة الويب وتحقق لمعرفة ما إذا كانت تعرض محتوى من خادم الويب الآخر

في احسن الاحوال ! يوزع ميزان التحميل حركة مرور IP بالتساوي بين خادمي الويب!
يُختتم هذا البرنامج التعليمي حول كيفية تثبيت HAProxy بالإضافة إلى تكوينه على CentOS 8. وستكون ملاحظاتك محل تقدير كبير.