تثبيت HAProxy 1.7 على دبيان 9.1 (امتداد)

HAProxy هو تطبيق برنامج شبكة يوفر توفرًا عاليًا ، وموازنة للحمل ، وعمل خوادم بروكسي لتطبيقات شبكة TCP و HTTP. وهي مناسبة لمواقع الويب عالية الحركة ، وتعمل على تشغيل العديد من المواقع الشائعة عبر الويب. ستوضح لك هذه المقالة كيفية تثبيت HAProxy وتكوينه على Debian 9.1.

على الرغم من أن HAProxy يحتوي على العديد من الميزات البارزة ، إلا أن هذه المقالة تركز على كيفية إعداد HAProxy إلى "وكيل" تطبيق الويب الخاص بك.

المتطلبات

  • خادما Vultr على الأقل (لوظائف موازنة التحميل) مع موقعك على الويب أو تطبيق الويب الذي تم نشرهما لكليهما.

تثبيت HAProxy

يشحن Debian 9 بالفعل مع HAProxy 1.7 (أحدث إصدار مستقر في وقت الكتابة) ، ويمكننا تثبيته ببساطة باستخدام apt-get:

# apt-get update
# apt-get install haproxy

إذا كانت الأوامر السابقة ناجحة ، فقد قمت بتثبيت HAProxy ويمكنك المتابعة إلى الخطوة التالية.

تكوين HAProxy

ينقسم ملف تكوين HAProxy إلى قسمين - "عام" و "بروكسيات". يتعامل المرء مع التكوين على مستوى العملية ، بينما يتكون الأخير من التكوين الافتراضي وأقسام الواجهة الأمامية والخلفية.

القسم العالمي

باستخدام محرر النصوص المفضل لديك ، افتح /etc/haproxy/haproxy.cfgولاحظ الأقسام المحددة مسبقًا: "عام" و "افتراضيات". أول شيء قد ترغب في القيام به هو زيادة maxconnحجم معقول ، لأن هذا يؤثر على الاتصالات التي يسمح بها HAProxy. قد يتسبب عدد كبير جدًا من الاتصالات في تعطل خدمة الويب بسبب العديد من الطلبات. ستحتاج إلى ضبط الحجم لمعرفة ما يناسبك. في القسم العالمي ، اخترنا maxconnقيمة 3072.

global
    daemon
    maxconn 3072

في القسم الافتراضي ، أضف السطر التالي تحت الوضع http:

option forwardfor

سيؤدي هذا إلى إضافة X-Forwarded-Forرؤوس لكل طلب ، مما يسمح لخوادم الواجهة الخلفية بمعرفة عنوان IP الأصلي للمستخدم.

أيضًا ، أضف هذا السطر لتمكين وضع إغلاق اتصال HTTP على جانب الخادم مع الحفاظ على القدرة على دعم استمرار HTTP على جانب العميل. هذا يقلل من الكمون من جانب العميل ويساعد في الحفاظ على موارد الخادم:

option http-server-close

إذا كنت ترغب في استخدام البقاء على قيد الحياة على جانبي العميل والخادم ، فيمكنك استخدام option http-keep-aliveبدلاً من ذلك. يفيد هذا الخيار بشكل خاص عندما تكون تكلفة إنشاء اتصال جديد بالخادم مهمة مقارنة بتكلفة استرداد المورد المطلوب.

أخيرًا ، سيبدو ملف التكوين الناتج كالتالي:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

قسم الوكلاء

لإعداد الوكيل الخاص بك ، ستحتاج إلى إضافة قسمين إلى ملف التكوين لتحديد جزئي الوكيل: الواجهة الأمامية والواجهة الخلفية.

تكوين الواجهة الأمامية

ستتعامل الواجهة الأمامية مع اتصالات HTTP الخاصة بك. أضف ما يلي إلى نهاية ملفك haproxy.cfg:

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

تأكد من استبدال public_ipعنوان IP العام لخادمك أو اسم المجال.

تكوين الخلفية

قم بإعداد الواجهة الخلفية بإضافة الأسطر التالية إلى نهاية ملف التكوين الخاص بك:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

يقوم تكوين الواجهة الخلفية المستخدم هنا بإنشاء 3 اتصالات مسماة X-www. ( Xهو 1 أو 2 أو 3.) كل واحد منهم يتوافق مع serverX_ip:80 عنوان. (استبدلها serverX_ipبعناوين IP الخاصة بمثيلات Vultr.) سيسمح لك هذا بتحميل التوازن بين كل خادم في مجموعة الخادم المحددة (بافتراض أن كل عنوان IP يتوافق مع خادم مختلف). و checkالخيار يجعل موازن التحميل إجراء فحوصات طبية على الخادم.

احفظ ملف التكوين ، ثم أعد تشغيل HAProxy:

service haproxy restart

إذا كان كل شيء يعمل ، فستتمكن من الاتصال بـ http://public_ip/(استبداله بعنوان IP العام أو اسم المجال الخاص بك كما تم تكوينه في خطوة الواجهة الأمامية) وعرض موقع الويب الخاص بك.

أخطاء التصحيح

إذا رفض مثيل HAProxy الخاص بك البدء بعد التعديلات ، فمن المحتمل أن يكون لديك خطأ في مكان ما في ملف التكوين. للحصول على رسائل واضحة حول المشكلة في ملف التكوين ، يمكنك محاولة بدء HAProxy يدويًا باستخدام هذا الأمر:

# haproxy -f /etc/haproxy/haproxy.cfg

على سبيل المثال ، إذا رأيت إخراج مثل هذا:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

ثم نسيت تحديد رقم المنفذ للخادم 1-www.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد