يتم استخدام 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 دولار imudpUDPServer $ تشغيل 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. وستكون ملاحظاتك محل تقدير كبير.