Discourse内でnginxログを表示する方法

CentOS (Docker) で Nginx ログを表示する方法は?

502、504 Nginx Gateway エラーが発生するため、Nginx ログを確認したいです。
CentOS (Docker) で Nginx ログを表示するコマンドラインを教えていただけますか?

Discourse は Docker コンテナ内で実行されます。これは基本的に仮想マシンに似ています。すべてのコンポーネントは自己完結型であるため、何かを失うことは非常に困難です。NGINX サーバーが生成する accesserror などのログを表示するには、コンテナのシェル内のログフォルダに移動する必要があります。

シェル内では、インスタンスが破損する可能性があるため、注意して操作してください。

これらのコマンドを使用してコンテナのシェルに入ります。すでに root の場合は su - をスキップできます。

su -
cd /var/discourse
./launcher enter app
cd /var/log/nginx

お好みのターミナルテキストエディタで error.log ファイルを開きます(私は専門家ではないため、nano を好みます。最初にインストールする必要があります)。

nano error.log

^V (CTRL-V) を押して、ファイルの最後の行(最新のエントリ)を見つけます。終了したら、^X を押してシェルに戻ります。

終了したら、exit を実行して CentOS の root シェルに戻ります。

指示に従ったところ、このエラーが発生しました。

-bash: cd: /var/log/nginx: そのようなファイルやディレクトリはありません

「いいね!」 1

/var/log ディレクトリに移動し、ls コマンドの結果を返してください。

「いいね!」 1

指示通りに実行したところ、以下の結果が返ってきました。
次にnginxのログを確認するにはどうすればよいですか?

[root@45 discourse]# cd /var/log/
[root@45 log]# ls
anaconda       cron-20211101       maillog-20211017   ppp               spooler-20211024
audit          cron-20211107       maillog-20211024   rhsm              spooler-20211101
boot.log       dmesg               maillog-20211101   secure            spooler-20211107
btmp           dmesg.old           maillog-20211107   secure-20211017   tallylog
btmp-20211101  firewalld           messages           secure-20211024   tuned
chrony         grubby              messages-20211017  secure-20211101   wtmp
cron           grubby_prune_debug  messages-20211024  secure-20211107   yum.log
cron-20211017  lastlog             messages-20211101  spooler           yum.log-20200101
cron-20211024  maillog             messages-20211107  spooler-20211017  yum.log-20210114

Nginxは見たことがありますが、Nginxのログに入るコマンドを知っていますか?

以下を参照してください

 /var/discourse/shared/standalone/logs/var-log/nginx
「いいね!」 1

@pfaffman
あなたがおっしゃった通りにしましたが、まだエラーが発生します。

[root@45 var-log]# cd /var/discourse/shared/standalone/logs/var-log/nginx
-bash: cd: /var/discourse/shared/standalone/logs/var-log/nginx: そのようなファイルやディレクトリはありません
[root@45 var-log]# /var/discourse/shared/standalone/logs/var-log/nginx
-bash: /var/discourse/shared/standalone/logs/var-log/nginx: そのようなファイルやディレクトリはありません

もし現在いる /var/log ディレクトリで ls を実行したらどうなりますか?

もう一度試してみてください。フォルダ logslog に置き換えてください。以下のようにします。私も自分のマシンでエラーが発生しました。

/var/discourse/shared/standalone/log/var-log/nginx
「いいね!」 1

これは古いトピックですが、コンテナ内で nginx -V を実行すると、nginx のログ ファイルがどこにあるかを示すはずです。

「いいね!」 2