كيفية تتبع فشل discourse upstream داخل container مما يؤدي إلى 502 Bad Gateway

(نعم، لقد بحثت أولاً)

بعد استخدام واجهة ترقية المسؤول مؤخرًا، توقف مثيل Discourse الخاص بي عن العمل، مستجيبًا بـ 502 Bad Gateway.

لقد دخلت إلى الحاوية ويبدو أنها تشغل nginx يتوقع خادمًا عند localhost:3000، والذي لا يعمل.

(54) Waiting for new unicorn workers under 3802725 to start up...
(54) Waiting for new unicorn workers under 3802725 to start up...
(54) Old pid is: 3800363 New pid is: 3802725
config/unicorn_launcher: line 71: kill: (3802725) - No such process
config/unicorn_launcher: line 15: kill: (3802725) - No such process
(54) exiting
ok: run: redis: (pid 62) 3418739s
ok: run: postgres: (pid 53) 3418739s
supervisor pid: 3803896 unicorn pid: 3803900
config/unicorn_launcher: line 71: kill: (3803900) - No such process
config/unicorn_launcher: line 15: kill: (3803900) - No such process
(3803896) exiting

يتبع هذا بشكل متكرر بـ:

ok: run: redis: (pid 64) 4905s
ok: run: postgres: (pid 65) 4905s
supervisor pid: 18571 unicorn pid: 18575
config/unicorn_launcher: line 71: kill: (18575) - No such process
config/unicorn_launcher: line 15: kill: (18575) - No such process
(18571) exiting

أود بدء هذا الموضوع للمساعدة في تصحيح هذا؛ ما هي الخطوة التالية هنا - أي أمر يحاول Discourse تشغيله. (أعلم أنه يمكنني معرفة ذلك عن طريق قراءة/هندسة الكود العكسي، ولكن قد يكون من المفيد وجود موضوع حول هذا في المنتدى.)

سأكون ممتنًا لأي توجيهات.

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

ابدأ بالبحث :wink:

هل يبدو هذا مشابهًا؟

هل تستخدم تثبيتًا قياسيًا عاديًا تمامًا؟

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

3 إعجابات

نعم، أنا أستخدم مستكشف البيانات. لم أقم بتشغيل git pull قبل إعادة التشغيل.
عندما أقوم بتشغيل git pull، ثم ./launcher restart app، لم يتم إصلاح المشكلة.

باستثناء أنني أقوم بتشغيله خلف nginx على المضيف.
(ولدي بعض الإضافات، مثل مستكشف البيانات.)

أنا الآن أحاول تشغيل ./launcher rebuild app - آمل أن يؤدي إعادة بناء التطبيق إلى الحفاظ على قاعدة بيانات المنتدى الخاص بي … وأنني لن أنتهي بمنتداي معاد ضبطه.
تشغيل launcher rebuild app لا يعالج المشكلة.

يصف هذا المنشور مشكلة مع الحاويات المميزة مقابل غير المميزة، ولكنه لا يقدم مزيدًا من المعلومات. كما أنه يعود إلى عامين، لذا قد لا يكون متعلقًا بتحديث حديث.

بالتأكيد، قاعدة البيانات موجودة على المجلد المشترك المثبت لذا فهي باقية.

إعادة تشغيل الحاوية بعد سحب git من غير المرجح أن تكون كافية.

فهمت. أنا أيضاً ./launcher rebuild app - ألن يؤدي ذلك إلى سحب التحديثات إلى المكونات الإضافية؟

نعم، سيؤدي ذلك أيضًا إلى تحديث الإضافات (طالما أنها مستنسخة داخل app.yml)

في حال كان هذا لا يزال قيد التحقيق، فقد واجهت خطأ 502 بوابة ولكن ليس مباشرة بعد فشل روتين التحديث في منتصف الطريق بخطأ في إصدار Ruby. نظرًا لأنني لم أقم بتحديث الخادم لمدة ستة أسابيع تقريبًا، فقد قمت بتشغيل apt update/upgrade وأعدت التشغيل. عندها حدث خطأ 502، ولم أتمكن من تشغيل موقع المنتدى. أدى إعادة بناء التطبيق إلى إصلاح الأمور وتحديث Discourse بالكامل أيضًا.

للعلم، لدي هذه الإضافات مثبتة وممكّنة:

discourse-bbcode
discourse-data-explorer
discourse-docs
docker_manager
styleguide

وهذه مثبتة ولكن معطلة:

discourse-topic-list-previews
discoursepage

تم تقسيم 4 مشاركات إلى موضوع جديد: هل هناك تشخيص خطوة بخطوة عندما يتم العثور على موقع Discourse في خطأ 502 Bad Gateway؟