Nginx upstream timeout (110: Connection timed out)

Ciao, il mio sito è https://1o24bbs.com/

Nessun aggiornamento, nessuna modifica: improvvisamente nginx segnala un errore di connessione all’upstream: http://127.0.0.1:3000

Come posso risolvere il problema? Apprezzo molto il vostro aiuto.

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

2021-07-08T09:01:03.403Z pid=682 tid=sim ERRORE: Errore durante il recupero del job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.412Z pid=682 tid=t4m ERRORE: Errore durante il recupero del job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.406Z pid=682 tid=tra ERRORE: Errore durante il recupero del job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERRORE: Errore durante il recupero del job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sze ERRORE: Errore durante il recupero del job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)

Caricamento di Sidekiq nel processo con ID 648

Kill self supervisor non è presente

Kill self supervisor non è presente

Kill self supervisor non è presente

Caricamento di Sidekiq nel processo con ID 780

/var/log/redis# tail -f current

553:M 08 lug 2021 09:11:59.078 * 10000 modifiche in 60 secondi. Salvataggio in corso…

553:M 08 lug 2021 09:11:59.079 * Salvataggio in background avviato da pid 1270

1270:C 08 lug 2021 09:12:01.584 * Database salvato su disco

1270:C 08 lug 2021 09:12:01.595 * RDB: 0 MB di memoria utilizzati da copy-on-write

553:M 08 lug 2021 09:12:01.619 * Salvataggio in background terminato con successo

553:M 08 lug 2021 09:13:02.098 * 10000 modifiche in 60 secondi. Salvataggio in corso…

553:M 08 lug 2021 09:13:02.099 * Salvataggio in background avviato da pid 1339

1339:C 08 lug 2021 09:13:04.052 * Database salvato su disco

1339:C 08 lug 2021 09:13:04.055 * RDB: 0 MB di memoria utilizzati da copy-on-write

553:M 08 lug 2021 09:13:04.137 * Salvataggio in background terminato con successo

Durante rebuild app, si verifica l’errore Failed listening on port 6379

Si tratta di una installazione standard ufficiale di Discourse?

Hai spazio su disco sufficiente (immagino che te ne saresti accorto se avessi provato a ricostruire).

Sembra esserci un problema con Redis, anche se non riesco a capire il motivo da quanto hai riportato qui.

Sì, il sito web funziona regolarmente da anni

Sto iniziando a pensare che forse non sia un problema di Redis.
Sidekiq è più un job in background, giusto?

Questo non dovrebbe rendere http://127.0.0.1:3000 irraggiungibile

Altri log in nginx

2021/07/08 10:54:31 [errore] 570#570: *169 upstream scaduto (110: Timeout della connessione) durante la lettura dell’intestazione di risposta dall’upstream, client: 100.19.76.187, server: _, richiesta: “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 [errore] 570#570: *169 upstream scaduto (110: Timeout della connessione) durante la connessione all’upstream, client: 100.19.76.187, server: _, richiesta: “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 [errore] 570#570: *169 upstream scaduto (110: Timeout della connessione) durante la lettura dell’intestazione di risposta dall’upstream, client: 100.19.76.187, server: _, richiesta: “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 [errore] 570#570: *13261 upstream scaduto (110: Timeout della connessione) durante la lettura dell’intestazione di risposta dall’upstream, client: 220.196.56.24, server: _, richiesta: “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

In production.log, vedo

Elaborazione di CategoriesController#index come HTML
Parametri: {“41528430213d6ae753e074e11328b67b”=nil}
Eccezione del job: FATAL: il sistema di database si sta spegnendo

@pfaffman Come faccio a svuotare Redis? Grazie!

Hai già effettuato l’aggiornamento a PostgreSQL 13?

Grazie!
Il mio sito sta eseguendo l’ultima versione di Discourse. La eseguo da almeno un mese.

Non ho aggiornato manualmente PostgreSQL, ma credo che la versione sia la 13.
Come posso esserne sicuro?

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

A proposito, sto eseguendo un singolo container app

Hai installato plugin non standard?

Plugin che ho:

  • docker_manager
  • discourse-adplugin

Pensi che il problema sia con Redis o PostgreSQL?

Dopo aver eseguito # ./launcher enter app, quando provo a lanciare curl http://127.0.0.1:3000 si verifica un timeout.

1 Mi Piace

Output di discourse-doctor:

==================== INFORMAZIONI DOCKER ====================
VERSIONE DOCKER: Docker version 19.03.13, build 4484c46d9d

PROCESSI DOCKER (docker ps -a)

CONTAINER ID        IMAGE                              COMANDO                  CREAZIONE             STATO                   PORTE                                      NOMI
70709beca56d        local_discourse/app                "/sbin/boot"             15 minuti fa            In esecuzione da 15 minuti   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 ore fa              Terminato (1) 2 ore fa                                              agitated_curie

70709beca56d        local_discourse/app   "/sbin/boot"        15 minuti fa      In esecuzione da 15 minuti       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

Il container Discourse app è in esecuzione


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

Nessun plugin non ufficiale rilevato.

Vedi https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb per l'elenco ufficiale.

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

Scusa. Non ho nessuna idea. Hai riavviato di recente?

Ho dovuto avviare una nuova VM e utilizzare un backup del database per creare un nuovo container.
Ma sembra che il problema si stia ripresentando anche dopo…

Ho avuto lo stesso problema con un sito aziendale invio denaro online per il cambio valuta, ho provato a riavviare il server e ad aumentare il timeout a 1000 secondi, per poi riprovare.