Verifiquei todos os tópicos que encontrei sobre erros 502 entre Discourse e nginx, mas não consegui encontrar ou entender nada que faça sentido para o meu caso.
Isso pode ser relevante, executando dentro do container:
# netstat -plant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 644/nginx: master p
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 644/nginx: master p
tcp6 0 0 :::6379 :::* LISTEN -
tcp6 0 0 :::5432 :::* LISTEN -
Há algo que deveria estar rodando na porta 3000?
Poderia me orientar sobre onde procurar mais informações para depurar esse problema?
Inicialmente, ele mostra 502, pois os serviços dentro do contêiner estão iniciando. Isso deve desaparecer em até 30 segundos. Se não desaparecer, é possível que a CPU do seu servidor esteja sob carga extrema, o que está causando lentidão.
Acabei de clonar o repositório e executei os comandos de configuração, então imagino que ele tenha apenas os plugins padrão? Não tenho certeza de onde verificar, mas tenho certeza de que não adicionei nenhum.
Usar um disco rígido tradicional versus um SSD não deve causar um erro 502. Isso não é realmente plausível, como sua pergunta indica @elopio.
Aqui está um pequeno resumo que pode ser útil:
Na minha opinião, o melhor a fazer é abrir alguns terminais e executar tail -f nos arquivos de log do Rails e do nginx, incluindo os logs de erro e os logs de acesso; em seguida, tente acessar e certifique-se de que, ao ver o erro 502, você esteja observando as últimas linhas dos arquivos de log.
Você sabe onde esses arquivos de log estão localizados e como executar os comandos tail -f neles nos terminais?
Nota: você perguntou anteriormente:
O Rails roda na porta 3000 dentro do contêiner Docker e essa porta não é exposta para fora do contêiner. É por isso que você não vê a porta 3000 fora do contêiner ao executar o netstat fora dele.
Uau, ao analisar os logs do Rails, descobri que o log do Unicorn estava enorme, reclamando de alguns erros de permissão. Excluí rm -rf tmp/cache/bootsnap-compile-cache/, e agora vejo a tela de parabéns!!!
Obrigado, amigos. Vou brincar um pouco mais com isso antes de decidir recriá-lo em um servidor SSD.
É a migração do hackerspace da Costa Rica do Telegram para o Discourse Ainda temos muitas coisas a fazer, mas dessa vez tenho certeza de que conseguiremos definitivamente nos livrar do chat. Muito obrigado, pessoal do Discourse!