Nginx upstream انتهت المهلة (110: انتهت مهلة الاتصال)

مرحبًا، موقعي هو https://1o24bbs.com/

بدون ترقية ولا تشغيل، ظهر فجأة أن nginx يفشل في الاتصال بالخدمة الخلفية: http://127.0.0.1:3000

كيف يمكنني استكشاف المشكلة وإصلاحها؟ أقدر مساعدتكم.

/shared/log/rails# tail -f unicorn.stdout.log

2021-07-08T09:01:03.403Z pid=682 tid=sim ERROR: خطأ في جلب المهمة: خطأ في الاتصال بـ Redis على localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.412Z pid=682 tid=t4m ERROR: خطأ في جلب المهمة: خطأ في الاتصال بـ Redis على localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.406Z pid=682 tid=tra ERROR: خطأ في جلب المهمة: خطأ في الاتصال بـ Redis على localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERROR: خطأ في جلب المهمة: خطأ في الاتصال بـ Redis على localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sze ERROR: خطأ في جلب المهمة: خطأ في الاتصال بـ Redis على localhost:6379 (Errno::EADDRNOTAVAIL)

جاري تحميل Sidekiq في عملية المعرف 648

اختفى مشرف “Kill self”

اختفى مشرف “Kill self”

اختفى مشرف “Kill self”

جاري تحميل Sidekiq في عملية المعرف 780

/var/log/redis# tail -f current

553:M 08 Jul 2021 09:11:59.078 * 10000 changes in 60 seconds. Saving…

553:M 08 Jul 2021 09:11:59.079 * Background saving started by pid 1270

1270:C 08 Jul 2021 09:12:01.584 * DB saved on disk

1270:C 08 Jul 2021 09:12:01.595 * RDB: 0 MB of memory used by copy-on-write

553:M 08 Jul 2021 09:12:01.619 * Background saving terminated with success

553:M 08 Jul 2021 09:13:02.098 * 10000 changes in 60 seconds. Saving…

553:M 08 Jul 2021 09:13:02.099 * Background saving started by pid 1339

1339:C 08 Jul 2021 09:13:04.052 * DB saved on disk

1339:C 08 Jul 2021 09:13:04.055 * RDB: 0 MB of memory used by copy-on-write

553:M 08 Jul 2021 09:13:04.137 * Background saving terminated with success

أثناء rebuild app، حدث خطأ فشل الاستماع على المنفذ 6379

هل هذه تثبيت قياسي رسمي من Discourse؟

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

يبدو أن المشكلة تتعلق بـ Redis، رغم أنني لا أستطيع تحديد السبب من خلال ما ذكرته هنا.

نعم، يعمل الموقع بشكل جيد منذ سنوات

أبدأ في التفكير في أن المشكلة قد لا تكون متعلقة بـ Redis.
Sidekiq هو في الأساس أداة للمهام الخلفية، أليس كذلك؟

هذا لا ينبغي أن يجعل http://127.0.0.1:3000 غير قابل للوصول

المزيد من سجلات nginx

2021/07/08 10:54:31 [error] 570#570: *169 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 100.19.76.187, server: _, request: “POST /message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/icc/25834

2021/07/08 10:54:32 [error] 570#570: *169 upstream timed out (110: Connection timed out) while connecting to upstream, client: 100.19.76.187, server: _, request: “POST /message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/icc/23914

2021/07/08 10:54:33 [error] 570#570: *169 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 100.19.76.187, server: _, request: “POST /message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/topic/15436

2021/07/08 10:54:36 [error] 570#570: *13261 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 220.196.56.24, server: _, request: “GET /?374e828961d36d46bd99dc8e13b7f640 HTTP/1.1”, upstream: “http://127.0.0.1:3000/?374e828961d36d46bd99dc8e13b7f640”, host: “1o24bbs.com”, referrer: “https://gateway.zscalertwo.net:443/auT?origurl=https%3A%2F%2F1o24bbs.com%2F%3F374e828961d36d46bd99dc8e13b7f640&wexps=1&_ordtok=SWk3WVhmhHBPJ4rLFk4nDRnkZ3&wexps=1

في production.log، أرى

معالجة بواسطة CategoriesController#index كـ HTML
المعاملات: {“41528430213d6ae753e074e11328b67b”=nil}
استثناء المهمة: FATAL: نظام قاعدة البيانات في طور الإغلاق

@pfaffman كيف يمكنني إفراغ ذاكرة Redis؟ شكرًا لك!

هل قمت بتحديث PostgreSQL 13 PostgreSQL 13 update.

شكرًا لك!
موقعي يعمل بأحدث إصدار من Discourse. وقد كنت أعمل بهذا الإصدار منذ شهر على الأقل.

لم أقم بترقية PostgreSQL يدويًا، لكنني أعتقد أن الإصدار هو 13.
كيف يمكنني التأكد من ذلك؟

$ psql -V
psql (PostgreSQL) 13.3 (Debian 13.3-1.pgdg100+1)

بالمناسبة، أدير حاوية app واحدة

هل لديك أي إضافات غير قياسية؟

الإضافات التي أملكها:

  • docker_manager
  • discourse-adplugin

هل تعتقد أن المشكلة تكمن في Redis أم PostgreSQL؟

بعد تنفيذ الأمر # ./launcher enter app، عندما أستخدم curl http://127.0.0.1:3000، يحدث انتهاء مهلة.

إخراج discourse-doctor:

==================== معلومات Docker ====================
إصدار Docker: Docker version 19.03.13, build 4484c46d9d

عمليات Docker (docker ps -a)

CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS                   PORTS                                      NAMES
70709beca56d        local_discourse/app                "/sbin/boot"             15 minutes ago      Up 15 minutes            0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app
1828993cd957        discourse/base:2.0.20210528-1735   "/bin/bash -c 'cd /p…"   2 hours ago         Exited (1) 2 hours ago                                              agitated_curie

70709beca56d        local_discourse/app   "/sbin/boot"        15 minutes ago      Up 15 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

حاوية Discourse app قيد التشغيل

==================== الإضافات ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin.git

لم يتم اكتشاف أي إضافات غير رسمية.

راجع https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb للحصول على القائمة الرسمية.

========================================

عذرًا. ليس لدي أي أفكار. هل قمت بإعادة التشغيل مؤخرًا؟

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

واجهت نفس المشكلة مع موقع شركة تحويل العملات الأجنبية وإرسال الأموال عبر الإنترنت، حاولت إعادة تشغيل الخادم وتغيير مهلة الوقت إلى 1000 ثانية ثم جربت مرة أخرى.