كيف يمكنني استضافة أكثر من منتدى Discourse واحد على خادم افتراضي خاص واحد؟

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

نعم، يمكنك ذلك!

ومع ذلك، فإن هذا موضوع متقدم، وستحتاج إلى معرفة المفاهيم الأساسية التالية:

  • ما هو الوكيل العكسي (reverse proxy)؟
  • أي وكيل عكسي يجب أن أستخدمه؟
  • كيف أقوم بتكوين مضيف افتراضي على وكيل عكسي؟
  • كيف أقوم بتكوين مضيف افتراضي كوكيل عكسي لتطبيق الويب الخاص بي؟
  • كيف أقوم بتكوين تطبيق الويب ليعمل مع وكيل عكسي؟
  • كيف أقوم بإعداد SSL عند استخدام وكيل عكسي؟

@Aiden12114، هل أنت على دراية بهذه المفاهيم؟

إذا كان الأمر كذلك، فأنت جاهز تمامًا!

5 إعجابات

للأسف، لا أدري ما معنى أيٍّ من ذلك :rofl:

لديك خياران:

  • موقع متعدد - أكثر تعقيدًا Multisite configuration with Docker
  • حاويات متعددة - معقد إلى حد ما (يتطلب وكيل عكسي وما إلى ذلك كما ذُكر أعلاه)، وأكثر تكلفة.
    اتبع التعليمات الخاصة بإعداد Discourse بدون سكريبت ./discourse-setup (cp samples/standalone.yml containers/app2.yml) وأعد تسمية volumes إلى شيء آخر غير standalone.
إعجابَين (2)

أعتقد أنه من المهم مشاركة بعض الحقائق التقنية مع أي شخص مهتم أو يتخذ قرارًا بشأن هذا:

  • حاوية Discourse واحدة مع مواقع متعددة “per container”، أو
  • حاويات متعددة لكل موقع “Discourse”.

إذا استخدمت نهج “حاوية واحدة، مواقع متعددة”، وكان لديك 5 مواقع Discourse تعمل (أو حتى 10)، فعند إعادة بناء الحاوية أو حدوث مشكلة في الحاوية لأي سبب، ستفشل 5 (أو 10) مواقع Discourse في نفس الوقت. وذلك لأن لديك حاوية واحدة تدعم جميع “المواقع”.

إذا استخدمت نهج “حاويات متعددة”، وكان لديك 5 مواقع Discourse تعمل (أو 10)، فعند إعادة بناء حاوية لأحد مواقعك أو حدوث مشكلة في حاوية الموقع لأي سبب، سيفشل موقع Discourse واحد فقط. وذلك لأن لديك حاوية واحدة تدعم موقعًا واحدًا (أو موقعين إذا كنت تشغل حاويات منفصلة للبيانات والتطبيق لكل موقع، كما نفعل نحن).

بالإضافة إلى ذلك، نظرًا لكيفية عمل Docker في تراكب ومشاركة جميع الطبقات للقراءة فقط لكل حاوية (عند استخدام برنامج تشغيل تخزين Docker الموصى به من Discourse، وهو overlay2) بين الحاويات؛ فإن طبقة تراكب للقراءة والكتابة رقيقة فقط هي فريدة لكل حاوية (ملفات السجل، ذاكرة التخزين المؤقت، إلخ)، لذا فإن استخدام حاويات متعددة لا يستهلك مساحة قرص إضافية كبيرة بسبب طريقة عمل OverlayFS.

لمزيد من المعلومات حول هذا الموضوع المثير للاهتمام حول كيفية عمل برنامج تشغيل Docker overlay (ومشاركة المكتبات بين الحاويات)، يرجى الرجوع إلى:

من الواضح أن القرار يعود لكل مسؤول نظام حول النهج الذي سيتخذه. بناءً على تحليلنا، اخترنا دائمًا اتباع نهج الحاويات المتعددة؛ للأسباب المذكورة أعلاه (وبعض الأسباب الأخرى التي لم تُناقش بعد).

نأمل أن يكون ذلك مفيدًا.

إعجابَين (2)