コンテナ内のdiscourseの上流障害を特定する方法、502 Bad Gatewayが発生

(はい、最初に検索しました)

最近、管理者のアップグレードインターフェイスを使用した後、Discourse インスタンスが機能しなくなり、「502 Bad Gateway」という応答が返ってきました。

コンテナに入り、localhost:3000 でサーバーを待機している nginx が実行されているようですが、それは実行されていません。

(54) Waiting for new unicorn workers under 3802725 to start up...
(54) Waiting for new unicorn workers under 3802725 to start up...
(54) Old pid is: 3800363 New pid is: 3802725
config/unicorn_launcher: line 71: kill: (3802725) - No such process
config/unicorn_launcher: line 15: kill: (3802725) - No such process
(54) exiting
ok: run: redis: (pid 62) 3418739s
ok: run: postgres: (pid 53) 3418739s
supervisor pid: 3803896 unicorn pid: 3803900
config/unicorn_launcher: line 71: kill: (3803900) - No such process
config/unicorn_launcher: line 15: kill: (3803900) - No such process
(3803896) exiting

これは繰り返し以下に続きます。

ok: run: redis: (pid 64) 4905s
ok: run: postgres: (pid 65) 4905s
supervisor pid: 18571 unicorn pid: 18575
config/unicorn_launcher: line 71: kill: (18575) - No such process
config/unicorn_launcher: line 15: kill: (18575) - No such process
(18571) exiting

このデバッグのヘルプスレッドを開始したいのですが、次のステップは何ですか?Discourse はどのコマンドを実行しようとしていますか。(コードを読んでリバースエンジニアリングすればわかることですが、フォーラムでこのスレッドがあると役立つかもしれません。)

何かヒントがあれば幸いです。

「いいね!」 1

検索から始めましょう :wink:

これは似ていますか?

完全にバニラの標準インストールを使用していますか?

タイミングを考えると、これはデータエクスプローラーの変更が原因で問題が発生した可能性が最も高いです。すでに元に戻したので、再度再構築を試すと、よりうまくいくはずです。

「いいね!」 3

はい、データエクスプローラーを使用しています。再起動する前に git pull を実行しませんでした。
git pull を実行してから ./launcher restart app を実行しても修正されません。

ホスト上でnginxの背後で実行していることを除いては。
(そして、データエクスプローラーのようなプラグインがいくつかあります。)

現在 ./launcher rebuild app を試しています。アプリを再構築すれば、フォーラムのデータベースは保持されることを願っています…そしてフォーラムがリセットされることにならないでしょう。
launcher rebuild app を実行しても問題は解決しません。

この投稿では、特権コンテナと非特権コンテナの問題について説明していますが、それ以上の情報は提供されていません。また、2年前のものであるため、最近のアップデートに関連していない可能性があります。

はい、データベースはマウントされた共有フォルダ上にあるため、永続化されます。

git pull の後にコンテナを再起動するだけでは不十分でしょう。

了解しました。 ./launcher rebuild app も実行しています。これによりプラグインのアップデートも取得されませんか?

はい、プラグインも更新されます(app.yml 内にクローンされている限り)。

もしこれがまだ調査中である場合、502ゲートウェイエラーが発生しましたが、アップデート処理が途中でRubyのバージョンエラーで失敗したわけではありません。サーバーを約6週間アップデートしていなかったので、apt update/upgradeを実行して再起動しました。その際に502エラーが発生し、フォーラムのウェブサイトを起動できませんでした。アプリを再構築したところ、問題が解決し、Discourseも完全にアップデートされました。

参考までに、以下のプラグインがインストールされ、有効になっています。

discourse-bbcode
discourse-data-explorer
discourse-docs
docker_manager
styleguide

そして、以下のプラグインがインストールされていますが無効になっています。

discourse-topic-list-previews
discoursepage

4件の投稿が新しいトピックに分割されました: Discourseサイトが502 Bad Gatewayになった場合の段階的な診断方法はありますか?