Nginx upstream expiré (110: Délai d'attente de la connexion dépassé)

Bonjour, mon site est https://1o24bbs.com/

Sans mise à jour ni opération de ma part, nginx indique soudainement qu’il ne parvient pas à se connecter au service amont : http://127.0.0.1:3000

Comment puis-je diagnostiquer le problème ? Merci pour votre aide.

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

2021-07-08T09:01:03.403Z pid=682 tid=sim ERREUR : Erreur lors de la récupération du job : Échec de la connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.412Z pid=682 tid=t4m ERREUR : Erreur lors de la récupération du job : Échec de la connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.406Z pid=682 tid=tra ERREUR : Erreur lors de la récupération du job : Échec de la connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERREUR : Erreur lors de la récupération du job : Échec de la connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sze ERREUR : Erreur lors de la récupération du job : Échec de la connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Chargement de Sidekiq dans le processus d’identifiant 648

Le superviseur d’auto-arrêt a disparu

Le superviseur d’auto-arrêt a disparu

Le superviseur d’auto-arrêt a disparu

Chargement de Sidekiq dans le processus d’identifiant 780

/var/log/redis# tail -f current

553:M 08 Jul 2021 09:11:59.078 * 10000 changements en 60 secondes. Enregistrement…

553:M 08 Jul 2021 09:11:59.079 * Sauvegarde en arrière-plan démarrée par le processus 1270

1270:C 08 Jul 2021 09:12:01.584 * Base de données sauvegardée sur le disque

1270:C 08 Jul 2021 09:12:01.595 * RDB : 0 Mo de mémoire utilisés par copy-on-write

553:M 08 Jul 2021 09:12:01.619 * Sauvegarde en arrière-plan terminée avec succès

553:M 08 Jul 2021 09:13:02.098 * 10000 changements en 60 secondes. Enregistrement…

553:M 08 Jul 2021 09:13:02.099 * Sauvegarde en arrière-plan démarrée par le processus 1339

1339:C 08 Jul 2021 09:13:04.052 * Base de données sauvegardée sur le disque

1339:C 08 Jul 2021 09:13:04.055 * RDB : 0 Mo de mémoire utilisés par copy-on-write

553:M 08 Jul 2021 09:13:04.137 * Sauvegarde en arrière-plan terminée avec succès

Lors de la commande rebuild app, une erreur s’est produite : « Échec de l’écoute sur le port 6379 ».

Est-ce une installation standard officielle de Discourse ?

Disposez-vous d’un espace disque suffisant (je suppose que vous l’auriez remarqué si vous aviez tenté de reconstruire).

Il semble que le problème vienne de Redis, bien que je ne puisse pas déterminer la raison d’après les informations que vous avez fournies ici.

Oui, le site web fonctionne correctement depuis des années.

Je commence à penser que ce n’est peut-être pas un problème de Redis.
Sidekiq est plutôt un système de tâches en arrière-plan, n’est-ce pas ?

Cela ne devrait pas rendre http://127.0.0.1:3000 inaccessible.

Plus de logs dans nginx

2021/07/08 10:54:31 [error] 570#570: *169 délai d’attente dépassé pour le serveur amont (110 : Délai de connexion dépassé) lors de la lecture de l’en-tête de réponse en provenance du serveur amont, client : 100.19.76.187, serveur : _, requête : “POST /message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t HTTP/2.0”, serveur amont : “http://127.0.0.1:3000/message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t”, hôte : “1o24bbs.com”, référent : “https://1o24bbs.com/t/icc/25834

2021/07/08 10:54:32 [error] 570#570: *169 délai d’attente dépassé pour le serveur amont (110 : Délai de connexion dépassé) lors de la connexion au serveur amont, client : 100.19.76.187, serveur : _, requête : “POST /message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t HTTP/2.0”, serveur amont : “http://127.0.0.1:3000/message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t”, hôte : “1o24bbs.com”, référent : “https://1o24bbs.com/t/icc/23914

2021/07/08 10:54:33 [error] 570#570: *169 délai d’attente dépassé pour le serveur amont (110 : Délai de connexion dépassé) lors de la lecture de l’en-tête de réponse en provenance du serveur amont, client : 100.19.76.187, serveur : _, requête : “POST /message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t HTTP/2.0”, serveur amont : “http://127.0.0.1:3000/message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t”, hôte : “1o24bbs.com”, référent : “https://1o24bbs.com/t/topic/15436

2021/07/08 10:54:36 [error] 570#570: *13261 délai d’attente dépassé pour le serveur amont (110 : Délai de connexion dépassé) lors de la lecture de l’en-tête de réponse en provenance du serveur amont, client : 220.196.56.24, serveur : _, requête : “GET /?374e828961d36d46bd99dc8e13b7f640 HTTP/1.1”, serveur amont : “http://127.0.0.1:3000/?374e828961d36d46bd99dc8e13b7f640”, hôte : “1o24bbs.com”, référent : “https://gateway.zscalertwo.net:443/auT?origurl=https%3A%2F%2F1o24bbs.com%2F%3F374e828961d36d46bd99dc8e13b7f640&wexps=1&_ordtok=SWk3WVhmhHBPJ4rLFk4nDRnkZ3&wexps=1

Dans production.log, je vois

Traitement de CategoriesController#index en tant que HTML
Paramètres : {“41528430213d6ae753e074e11328b67b” => nil}
Exception de tâche : FATAL : le système de base de données est en cours d’arrêt

@pfaffman Comment vider Redis ? Merci !

Avez-vous effectué la mise à jour PostgreSQL 13 ?

Merci !
Mon site Web exécute la dernière version de Discourse. Je fais tourner cette version depuis au moins un mois.

Je n’ai pas mis à jour PostgreSQL manuellement, mais je pense qu’il s’agit de la version 13.
Comment puis-je en être certain ?

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

Au fait, je exécute un seul conteneur app.

Avez-vous des plugins non standard ?

Plugins que j’ai :

  • docker_manager
  • discourse-adplugin

Pensez-vous que le problème vienne de Redis ou de PostgreSQL ?

Après avoir exécuté # ./launcher enter app, la commande curl http://127.0.0.1:3000 expire.

Sortie de discourse-doctor :

==================== INFORMATIONS DOCKER ====================
VERSION DOCKER : Docker version 19.03.13, build 4484c46d9d

PROCESSUS 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

Le conteneur Discourse app est en cours d'exécution


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin.git

Aucun plugin non officiel détecté.

Consultez https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb pour la liste officielle.

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

Désolé. Je n’ai aucune idée. Avez-vous redémarré récemment ?

J’ai dû lancer une nouvelle machine virtuelle et utiliser une sauvegarde de base de données pour créer un nouveau conteneur.
Mais il semble que le problème se reproduise après cela…

j’ai rencontré le même problème avec un site web d’entreprise transfert de devises en ligne, j’ai essayé de redémarrer le serveur et de modifier le délai d’attente à 1000 secondes, puis de tester à nouveau.