J’ai consulté tous les sujets que j’ai trouvés concernant les erreurs 502 entre Discourse et nginx, mais je n’ai rien trouvé ou compris qui ait du sens pour mon cas.
Cela pourrait être pertinent, en exécutant depuis le conteneur :
# 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 -
Y a-t-il quelque chose qui devrait s’exécuter sur le port 3000 ?
Pourriez-vous s’il vous plaît m’indiquer où chercher davantage d’informations pour déboguer ce problème ?
Une erreur 502 s’affiche initialement car les services à l’intérieur du conteneur sont en cours de démarrage. Elle devrait disparaître dans les 30 secondes. Si ce n’est pas le cas, il est possible que le processeur de votre serveur soit sous une charge extrême, ce qui provoque un ralentissement.
Je viens de cloner le dépôt et d’exécuter les commandes de configuration, donc je suppose qu’il ne contient que les plugins par défaut ? Je ne suis pas sûr d’où vérifier, mais je suis certain de n’en avoir ajouté aucun.
Utiliser un disque dur traditionnel plutôt qu’un SSD ne devrait pas provoquer une erreur 502. Ce n’est pas vraiment plausible, comme le suggère votre question, @elopio.
Voici un petit article qui pourrait vous être utile :
À mon avis, la meilleure chose à faire est d’ouvrir plusieurs terminaux et d’exécuter tail -f sur vos fichiers de logs Rails et nginx, y compris les journaux d’erreurs et les journaux d’accès. Ensuite, essayez d’accéder au service et assurez-vous que lorsque vous voyez l’erreur 502, vous avez les yeux fixés sur la fin des fichiers de logs.
Savez-vous où se trouvent ces fichiers de logs et comment exécuter les commandes tail -f dessus dans les terminaux ?
Notez que vous avez demandé plus tôt :
Rails s’exécute sur le port 3000 à l’intérieur du conteneur Docker, et ce port n’est pas exposé à l’extérieur du conteneur. C’est pourquoi vous ne voyez pas le port 3000 à l’extérieur du conteneur lorsque vous exécutez netstat en dehors du conteneur.
Wooo, en regardant les journaux Rails, j’ai constaté que le journal Unicorn était énorme et signalait des erreurs de permissions. J’ai supprimé rm -rf tmp/cache/bootsnap-compile-cache/, et maintenant je vois l’écran de félicitations !!!
Merci les amis. Je vais jouer un peu plus avec cela avant de décider de le recréer sur un serveur SSD.
C’est la migration de l’espace de hackers du Costa Rica de Telegram vers Discourse Il nous reste encore énormément de choses à faire, mais cette fois, je suis sûr que nous réussirons à nous débarrasser définitivement du chat. Merci beaucoup à l’équipe de Discourse !