Nginx upstream esgotou o tempo limite (110: Tempo limite de conexão excedido)

Olá, meu site é https://1o24bbs.com/

Sem atualização, sem operação. Do nada, o nginx indica falha ao conectar ao upstream: http://127.0.0.1:3000

Como faço para solucionar esse problema? Agradeço a ajuda.

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

2021-07-08T09:01:03.403Z pid=682 tid=sim ERROR: Erro ao buscar job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.412Z pid=682 tid=t4m ERROR: Erro ao buscar job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.406Z pid=682 tid=tra ERROR: Erro ao buscar job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERROR: Erro ao buscar job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sze ERROR: Erro ao buscar job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)

Carregando Sidekiq no processo id 648

Kill self supervisor foi encerrado

Kill self supervisor foi encerrado

Kill self supervisor foi encerrado

Carregando Sidekiq no processo id 780

/var/log/redis# tail -f current

553:M 08 Jul 2021 09:11:59.078 * 10000 alterações em 60 segundos. Salvando…

553:M 08 Jul 2021 09:11:59.079 * Salvamento em segundo plano iniciado pelo pid 1270

1270:C 08 Jul 2021 09:12:01.584 * Banco de dados salvo no disco

1270:C 08 Jul 2021 09:12:01.595 * RDB: 0 MB de memória usados por copy-on-write

553:M 08 Jul 2021 09:12:01.619 * Salvamento em segundo plano finalizado com sucesso

553:M 08 Jul 2021 09:13:02.098 * 10000 alterações em 60 segundos. Salvando…

553:M 08 Jul 2021 09:13:02.099 * Salvamento em segundo plano iniciado pelo pid 1339

1339:C 08 Jul 2021 09:13:04.052 * Banco de dados salvo no disco

1339:C 08 Jul 2021 09:13:04.055 * RDB: 0 MB de memória usados por copy-on-write

553:M 08 Jul 2021 09:13:04.137 * Salvamento em segundo plano finalizado com sucesso

Durante rebuild app, ocorreu o erro Failed listening on port 6379

Esta é uma Instalação Padrão Oficial do Discourse?

Você tem espaço em disco suficiente (acho que você teria notado se tentasse reconstruir).

Parece ser um problema com o Redis, embora eu não possa dizer o motivo apenas com o que você forneceu aqui.

Sim, o site tem funcionado bem há anos.

Estou começando a achar que talvez não seja um problema do Redis.
O Sidekiq é mais voltado para tarefas em segundo plano, certo?

Isso não deveria impedir o acesso a http://127.0.0.1:3000.

Mais logs no 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

Em production.log, vejo

Processando por CategoriesController#index como HTML
Parâmetros: {“41528430213d6ae753e074e11328b67b”=nil}
Exceção de Job: FATAL: o sistema de banco de dados está sendo encerrado

@pfaffman Como faço para limpar o Redis? Obrigado!

Você fez a atualização do PostgreSQL 13.

Obrigado!
Meu site está executando a versão mais recente do Discourse. Tenho usado a versão mais recente há pelo menos um mês.

Não fiz a atualização manual do PostgreSQL, mas acredito que a versão seja 13.
Como posso confirmar isso?

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

Aliás, estou executando um único container app

Você tem algum plugin não padrão?

Plugins que tenho:

  • docker_manager
  • discourse-adplugin

Você acha que o problema está no Redis ou no PostgreSQL?

Após # ./launcher enter app, ao executar curl http://127.0.0.1:3000, a conexão expira.

1 curtida

Saída do discourse-doctor:

==================== INFORMAÇÕES DO DOCKER ====================
VERSÃO DO DOCKER: Docker version 19.03.13, build 4484c46d9d

PROCESSOS DO 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

O container do Discourse app está em execução


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

Nenhum plugin não oficial detectado.

Veja a lista oficial em https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb

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

Desculpe. Não tenho nenhuma ideia. Você reiniciou recentemente?

Precisei criar uma nova VM e usar um backup do banco de dados para gerar um novo contêiner.
Mas parece que o problema está ocorrendo novamente depois disso…

Tive o mesmo problema com um site corporativo transferência de dinheiro online com câmbio. Tentei reiniciar o servidor, alterar o tempo limite para 1000 segundos e, em seguida, testar novamente.