如何在 Discourse 中查看 nginx 日志?

如何在 Centos (docker) 上查看 nginx 日志?

我收到 502、504 Nginx 网关错误,所以我想查看 nginx 日志。
你能告诉我如何在 Centos (docker) 上查看 nginx 日志的命令行吗?

Discourse 运行在 Docker 容器中,这本质上就像一台虚拟机。所有组件都是自包含的,因此丢失任何东西的可能性很小。要查看 NGINX 服务器生成的日志,例如 access 和 error,您需要进入容器 shell 中的日志文件夹。

在容器 shell 中操作时请小心,这可能会破坏您的实例。

使用以下命令进入容器 shell。如果您已经是 root 用户,可以跳过 su -。

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

在您喜欢的终端文本编辑器中打开 error.log 文件(我个人偏好 nano,只是因为我不是专家,您需要先安装它)。

nano error.log

按 ^V (CTRL-V) 找到文件的最后一行(最新条目)。完成后,按 ^X 返回 shell。

完成后,运行 exit 返回到您的 CentOS root shell。

我按照您的指示操作时遇到了这个错误

-bash: cd: /var/log/nginx: No such file or directory

转到 /var/log 目录并回复 ls 命令的结果。

我已按您的指示操作,得到以下结果,
接下来该如何查看 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

@pfaffman
我照你说的做了,但还是出现错误:

[root@45 var-log]# cd /var/discourse/shared/standalone/logs/var-log/nginx
-bash: cd: /var/discourse/shared/standalone/logs/var-log/nginx: No such file or directory
[root@45 var-log]# /var/discourse/shared/standalone/logs/var-log/nginx
-bash: /var/discourse/shared/standalone/logs/var-log/nginx: No such file or directory

如果你在 var/log 目录中执行 ls 命令会怎么样?

再试一次,将文件夹 logs 替换为 log,如下所示。我的机器上也出现了错误。

/var/discourse/shared/standalone/log/var-log/nginx

这是一个旧主题,但在容器内运行 nginx -V 应该可以显示 nginx 的日志文件位置。