مشاكل Redis؟ (المنتدى معطل بعد الترقية)

هل تظهر لك رسالة [FAILED] في نهاية عملية إعادة البناء؟

هل يمكنك إظهار الأسطر التي تسبق هذا التنبيه الفاشل؟ (قدر الإمكان)

سنبحث عن بعض الأدلة في ذلك.

إعجابَين (2)

لا أعتقد أن هناك رسالة FAILED في النهاية. سأقوم بتشغيل بناء آخر. شكراً!

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

إذا اكتملت إعادة البناء، فأتوقع أن يكون السبب هو إضافة (plugin) أو مكون سمة (theme component) معطل.

تحقق من وحدة التحكم في متصفحك (F12) لمعرفة ما إذا كانت هناك أي تنبيهات حمراء.

يمكنك أيضًا تجربة [your-forum]/safe-mode لتحميل منتداك بدون إضافات وسمات.

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

نعم، لا يوجد فشل. ينتهي البناء على ما يبدو بشكل جيد ثم يبدو تشغيل docker جيدًا أيضًا.

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

لا يوجد شيء واضح في وحدة التحكم. محاولة التشغيل في الوضع الآمن ولكن الحصول على خطأ “لا يمكن الوصول إلى الموقع” من Chrome. لكن يمكنني الوصول إلى الصفحة الرئيسية والرسائل الثابتة (بالطريقة العادية).

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

هذا هو ذيل سجل الإنتاج الحالي:

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `block in synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:966:in `get'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:366:in `process_global_backlog'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:274:in `block in global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:287:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:786:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:734:in `block in new_subscriber_thread'
إعجاب واحد (1)

هل يمكنك مشاركة قائمة الإضافات الخاصة بك؟ أو عنوان المنتدى الخاص بك في رسالة خاصة حتى أتمكن من التحقق؟

هل لديك أي شيء مفيد في [your_forum]/logs؟ قائمة بالأخطاء في [your_forum]/sidekiq؟

ليس لدينا الكثير من المعلومات لمساعدتك في العثور على المشكلة.

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

للبدء، إليك قائمة الإضافات (قصيرة جدًا). هذه هي جميع الإضافات المدرجة في app.yml:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-push-notifications.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
إعجاب واحد (1)

أعتقد أن إضافة Who’s Online تم تبديلها إلى رسمية في سبتمبر. هل يمكنك تجربة استخدام المستودع المحدث ومعرفة ما إذا كان ذلك سيساعد؟

https://github.com/discourse/discourse-whos-online

3 إعجابات

تحديث بخصوص هذا. شكراً جزيلاً للجميع على اقتراحاتكم. يبدو أن المشاكل الأساسية (باستثناء واحدة) قد تم حلها (لا يزال هناك المزيد من الاختبارات). المشكلة الواضحة المتبقية هي أن شهادات SSL لم تعد تتجدد، وحتى عملية التجديد اليدوية الموصى بها هنا لا تعمل. يبدو أن Let’s Encrypt غير قادر على الوصول إلى ملف التحقق هنا من الدليل “well known”. كان هذا يعمل بشكل جيد لمدة 3 سنوات تقريبًا. لذا لا تزال هذه مشكلة، خاصة وأن HSTS يمنع Chrome تمامًا في هذا الموقف.

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

يبدو الأمر فوضوياً.

يمكنك محاولة تشغيل أداة discourse-doctor لمعرفة ما إذا كانت تعطي أي فكرة. لدي بعض الأفكار ولكن بدون الوصول إلى الخادم، سيستغرق الأمر الكثير من الوقت من شخص في مستواي المتواضع لمساعدتك.

ربما أقوم بإعادة تثبيت كل شيء إذا كنت مكانك.

1 النسخ الاحتياطي

cd /var/discourse
./launcher enter app
discourse backup

استرجع النسخة الاحتياطية عبر sftp (بروتوكول sftp، المنفذ 22، المضيف: عنوان IP الخاص بخادمك، اسم المستخدم: root، كلمة المرور: كلمة مرور root)

تأكد من أن لديك مجلد uploads في النسخة الاحتياطية. إذا لم يكن الأمر كذلك، فقم بعمل نسخة محلية للمجلد على القرص الصلب الخاص بك.

2 حذف، إعادة تثبيت خادمك الافتراضي الخاص، أو استخدام خادم افتراضي خاص آخر

استخدم أمر discourse setup install، إذا كان كل شيء على ما يرام: قم بتسجيل الدخول، ورفع واستعادة نسخة احتياطية.

(يمكنك أيضًا استعادة النسخة الاحتياطية من سطر الأوامر، إنها أسرع: Restore a backup from the command line)

إذا لم تكن متأكدًا من هذا، فمن الأفضل الانتظار لشخص أكثر تأهيلاً :raised_hands:

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

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

إعجابَين (2)

لذا، في /var/discourse/shared/standalone/ssl، يبدو أن هناك مفاتيح وشهادات مكتوبة حديثًا من محاولتي الأخيرة. لكن السجل يوضح بوضوح خطأ في التحقق، والموقع لا يستخدمها فعليًا. أيضًا - ربما يكون هذا مجرد شكلي - لا تُظهر السجلات المسارات الصحيحة في هذه الحالة. على سبيل المثال، تقول تثبيت المفتاح إلى:

/shared/ssl/[site]_ecc.key

لكن المسار الفعلي هو /shared/standalone/ssl

وهو على الأقل يبدو غريبًا.

الخطأ النموذجي هو:

[site]: خطأ التحقق: جلب http://[site]/.well-known/acme-challenge/[challenge string]: خطأ في الحصول على بيانات التحقق

يجب أن أشير إلى أن الموقع يتطلب تسجيل الدخول لجميع وصول المستخدمين، ولكن هذه لم تكن مشكلة في تجديد شهادات SSL (خلال عدة سنوات من التشغيل).

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

نظرًا لحل المشكلات الأخرى، سأنقل سؤال SSL إلى سلسلة منفصلة. شكرًا للجميع!

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

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