كيفية ترحيل Discourse من خادم إلى آخر بنفس اسم DNS

شكرًا لك. يبدو أن عملية “الرفع والنقل” لم تكن نظيفة كما توقعت؛ فهناك بعض الفحوصات التي يجب إجراؤها قبل وبعد العملية لضمان سير عملية الرفع والنقل بسلاسة (تم ترقية قاعدة بيانات PostgreSQL من الإصدار 12.0 إلى 13.0، مما علّمني بعض الدروس في عملية الرفع والنقل). إليك دليل خطوة بخطوة للاستخدام المستقبلي من قبل الأشخاص الذين يحاولون الانتقال إلى خادم Amazon LightSail (ذاكرة عشوائية 1 جيجابايت):

الخادم الأصلي

  • إنشاء نسخة احتياطية إلى S3
  • cd /var/discourse
  • ./launcher rebuild # الحصول على أحدث إصدار لتسهيل عملية الانتقال
  • ./launcher cleanup # تنظيفه لإزالة البيانات القديمة وتقليل حجم الحزمة
  • ./launcher stop app # عدم القيام بذلك يتسبب في فشل عند محاولة إعادة البناء لاحقًا مع PostgreSQL
  • tar -zcvf /var/discourse discourse.tar.gz

خادم Amazon LightSail الجديد

  • تثبيت صورة Ubuntu 20.20 من Amazon (ذاكرة عشوائية 1 جيجابايت)
  • تثبيت Docker
  • إنشاء ذاكرة افتراضية 2 جيجابايت # عدم القيام بذلك قد يتسبب في فشل عملية إعادة البناء
  • تكوين vm.overcommit_memory=1 # عدم القيام بذلك قد يتسبب في فشل مع PostgreSQL أثناء إعادة البناء
  • نقل ملف discourse.tar.gz عبر FTPS/transfer من الخادم الأصلي
  • tar -zxvf discourse.tar.gz -C /
  • cd /var/discourse
  • تعيين UNICORN_WORKERS في ملف app.yml إلى 2 # زيادة هذا الرقم عن 2 مع ذاكرة عشوائية 1 جيجابايت قد يعرض النظام لخطر التبديل والاختناق بسبب النشاط المفرط على القرص
  • ./launcher rebuild
  • تغيير إعدادات DNS لتوجيهها إلى خادم Amazon الجديد

هل توجد طريقة أسهل لنقل الخوادم (الرفع والنقل) دون الحاجة إلى المرور بعملية إعداد discourse؟