مشكلة بعد إعادة بناء Discourse على Digital Ocean Droplet

لقد نجحت في نشر Discourse على Digital Ocean Droplet، ولكن بعد بدء إعادة البناء، واجهت مشاكل.

  • السجلات: عرض هنا - ومن الجدير بالذكر وجود رسالة “x86_64 arch detected”.
  • تكوين App.yml: عرض هنا

هل واجه أي شخص مشكلة مماثلة؟ سأكون ممتنًا لأي رؤى أو حلول.

الأسطر من 99 إلى 101 في مستوى المسافة البادئة الخاطئ، تحتاج إلى مستوى واحد إضافي. انظر هنا لمثال صحيح:

3 إعجابات

تم! ما زلت أواجه نفس المشكلة.

يمكنك محاولة تمرير ملف YAML بأكمله عبر مدقق لغوي للتحقق من وجود المزيد من المشكلات.

3 إعجابات

لقد كنت أواجه تحديات مع إعداد Discourse الخاص بي:

  1. ملف YAML والصيغة:

    • لقد تحققت من تكوين YAML الخاص بي باستخدام YamlLint؛ لم يكتشف أي مشاكل.
    • ومع ذلك، ظهر خطأ في الصيغة من دليل Ruby:
      /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:148:in `block (2 levels) in run_commands': Invalid run command cd (SyntaxError)
      ...
      from /usr/local/bin/pups:25:in `<main>'
      
  2. إعادة البناء والوصول:

    • لقد عدت إلى ملف app.yml الافتراضي وأجريت بعض التعديلات. كانت إعادة البناء ناجحة.
    • ومع ذلك، عندما أحاول الوصول إلى الموقع، أواجه هذه الأخطاء:

  3. اختبار متصفح W3M:

    • لتشخيص إضافي، قمت بتثبيت w3m، وهو متصفح طرفي، على القطرة.
    • أدى الوصول إلى localhost إلى خطأ “502 bad gateway”:
  4. مشاكل SSL

    • اعتقدت أن هذه قد تكون مشكلة SSL وأقوم الآن بتجديد شهادات SSL.

أي رؤى أو مساعدة ستكون محل تقدير كبير!

منتداي معطل منذ يومين.

قد يكون كذلك، إذا وصلت إلى حد الطلبات الخاص بهم. كيف انتهى مراجعتك؟

هل لديك نسخة احتياطية من منتدى الخاص بك، وهل حاولت استعادتها على خادم آخر؟ إذا كان منتدى الخاص بي معطلاً لمدة يومين، فسأستغرق 30 دقيقة لمحاولة القيام بذلك.

إعجابَين (2)

ليس لدي نسخة احتياطية من منتدى الخاص بي، أنا جديد جدًا في إعداد discourse.

إذا كنت تبدأ من الصفر، فيجب عليك محاولة تثبيت نسخة جديدة باستخدام نطاق فرعي جديد. يجب أن يؤدي ذلك إلى تجاوز حد معدل letsencrypt إذا كنت قد وصلت إليه. :+1:

إعجاب واحد (1)

إن وجود Cloudflare أمام موقعك هو إحدى الطرق التي قد تؤدي إلى فشل Let’s Encrypt. أوصي باستخدام DNS-only حتى تتأكد من أن Let’s Encrypt يعمل بشكل صحيح.

إعجابَين (2)

لدي بالفعل مستخدمون وبيانات، ولا أريد أن أفقد كل شيء وأبدأ من الصفر

شكرا على النصيحة! لقد تم الآن على DNS فقط! :slightly_smiling_face:

تعديل: أحصل الآن أيضًا على خطأ image،

يبدو أن الحل السهل هو الانتقال إلى نطاق فرعي مختلف، أو الانتظار لمدة أسبوع حتى يمنحك Let’s Encrypt شهادة. الطريقة الأصعب هي إضافة نطاق فرعي ثانٍ يشير إلى خادمك وتعديل ملف app.yml الخاص بك لطلب شهادة لكلا النطاقين الفرعيين. إعداد Let’s Encrypt بنطاقات متعددة. نظرًا لأنه يبدو أن مشاكلك بدأت بسبب مواجهتك صعوبة في تنسيق YML، فقد لا يعمل هذا الحل المعقد معك.

إعجاب واحد (1)

إذًا، يجب عليك بالتأكيد التأكد من وجود نسخة احتياطية، وأن تكون في مكان آمن.

إعجابَين (2)

شكراً على الفكرة، لقد استخدمت نطاقاً فرعياً مختلفاً الآن، لكنني أواجه نفس المشكلة.

‘502’ و ‘Connection Refused’.

هل يشير نظام أسماء النطاقات (DNS) الخاص بالنطاق الفرعي إلى عنوان IP الخاص بالخادم هذا؟ وهل ليس لديك أي سجلات A أو AAAA أخرى للنطاق الفرعي؟

أوصي بتشغيل ./discourse-setup الذي سيتحقق من وصول الاتصالات الواردة إلى نطاقك إلى الخادم الخاص بك.

هل يمكنك الاتصال بخادمك عبر اسم المضيف باستخدام ssh user@subdomain.yoursite.com (أو أيًا كان نطاقك الفرعي؟

إعجاب واحد (1)

نعم، لقد تأكدت من أن نظام أسماء النطاقات (DNS) الخاص بالنطاق الفرعي يشير إلى عنوان IP الخاص بالخادم، ولا توجد أي سجلات A أو AAAA أخرى متعارضة له.

لقد قمت بتنفيذ الأمر وهذا هو الناتج

آخر تحديث: بعد تنفيذ discourse-setup، يؤدي الانتقال إلى home.techwithanirudh.com إلى ظهور خطأ “502 Bad Gateway”. إليك لقطة شاشة للخطأ (بالإشارة إلى الصورة المرفقة).

بالتأكيد، الاتصال بالخادم عبر SSH باستخدام اسم المضيف يعمل بشكل مثالي.

لقد عملت مع @techwithanirudh دون اتصال لحل هذه المشكلة … لم يكن @techwithanirudh على علم بتعليمات إلغاء تثبيت روبوت الدردشة.

المفتاح هنا (حاليًا) كان الخطأ 502 بسبب عدم بدء تشغيل الحاوية بشكل صحيح بسبب بقاء الفهرس في قاعدة البيانات دون رمز داعم في مكتبة postgres. تقوم تعليمات إلغاء التثبيت بإزالة الفهرس من قاعدة البيانات حتى تتمكن من البناء بأمان دون بناء مكتبة الفهرس.

موقع @techwithanirudh يعمل الآن.

7 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.