أفضل نهج لبيئتي الاختبار والإنتاج في Discourse

مرحبًا،
أنا على وشك إنشاء مثيل Discourse على خادم سحابي من Digital Ocean وفقًا لـ الدليل.

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

  1. نفس الخادم خلف وكيل عكسي
  2. تعدد المواقع

كما هو مُلخَّص في موضوع Sandbox and test discourse on host?.

أعلم أن الخيار الأول يتطلب ذاكرة وصول عشوائي (RAM) أكثر، كما ورد في الإجابة على https://meta.discourse.org/t/two-standalone-instances-on-one-server/60551/26، لكنه يعمل فقط بشكل متقطع.
هناك مواضيع أخرى حول هذا السؤال:

  1. مثيلات Discourse متعددة على خادم واحد
  2. تشغيل مواقع ويب أخرى على نفس الجهاز مع Discourse
    لكنها لا تقدم مقارنة واضحة بين الإيجابيات والسلبيات.

الهدف الآخر من هذه التجربة هو التعرّف على:

  1. النسخ الاحتياطي
  2. إعادة التوطين
  3. نقل المحتوى
  4. نقل الإعدادات
  5. نقل مناقشات فردية

حالة الاستخدام هي أننا نناقش شيئًا ما في مثيل الإنتاج، ثم ننقل محتوى المنتدى (قاعدة البيانات بالكامل)، ونختبره على مثيل الاختبار، ثم نعيد المناقشة إلى مثيل الإنتاج عبر تصدير/استيراد مناقشة فردية ونسخ الإعدادات المعدلة، كما قد نختبر ونوافق على إضافة (plugin).

الوضع متعدد المواقع لا يفيد في خادم الاختبار. إذا قمت بالترقية للاختبار لمعرفة ما إذا كان هناك إضافة معطلة، فسيتم تعطيل كلا الموقعين.

من المقبول استخدام نفس الخادم خلف وكيل عكسي، لكنه ينطوي على الكثير من المتاعب؛ إذا لم يكن ذلك صعبًا بالنسبة لك، فقد تكون إحدى حلول “الأمثلة المتعددة لـ Discourse” مناسبة لك. أسهل طريقة هي استخدام خادم منفصل ومشاركة两者 في سلة نسخ احتياطي على S3، مما يسهل استعادة البيانات من موقع الإنتاج إلى موقع التطوير لمعاينة كيفية ظهور الأمور. كما سيقتنعك ذلك بأنه يمكنك تشغيل خادم جديد بأحدث نسخة احتياطية.

هذا رخيص جدًا :slight_smile: أفضل من حل OD، كيف يمكن دفع النسخ الاحتياطية تلقائيًا إلى S3 من DO؟

هل يمكنك إخباري ما هي المتاعب :upside_down_face:
بما أننا نتبع نهجًا منخفض التكلفة (في البداية). لذا

يفضل تجنبه

يمكنك بعد ذلك جعل كلا الحاويتين لهما نفس حجم النسخة الاحتياطية وتجاوز البحث عن كيفية إعداد نسخ احتياطية لـ S3.

يثير اسم nginx proxy ذكريات لدي، وسأرى كيف أتعامل معه :yum:

أفضل نهج في رأيي هو تقليل التعقيد والإزعاج. ما عليك سوى الحصول على قطرتين وإنهاء الأمر.

لقد فعلت ذلك باستخدام واحدة، لكن انتهى بي الأمر بعدم القدرة على إرسال بريد التحقق، DigitalOcean + Siteground Email عبر المنفذ 465 لن يعمل (2525 سيعمل) :face_with_symbols_over_mouth:.
الآن أبدأ من الصفر متبعًا دليل التثبيت، بما في ذلك حساب Mailgun :face_vomiting:.