Discourse에서 nginx 로그를 확인하는 방법?

CentOS (docker)에서 nginx 로그를 보는 방법

502, 504 Nginx Gateway 오류가 발생하여 nginx 로그를 확인하고 싶습니다.
CentOS (docker)에서 nginx 로그를 확인하는 명령어를 알려줄 수 있나요?

Discourse는 Docker 컨테이너 내에서 실행되며, 이는 기본적으로 가상 머신과 유사합니다. 모든 구성 요소가 자체적으로 포함되어 있어 데이터를 잃어버리는 것은 상당히 어렵습니다. NGINX 서버가 생성하는 access 및 error와 같은 로그를 확인하려면 컨테이너 셸 내의 로그 폴더로 이동해야 합니다.

셸 내부에서는 주의가 필요합니다. 실수로 인스턴스가 손상될 수 있기 때문입니다.

다음 명령을 사용하여 컨테이너 셸에 진입하세요. 이미 root 권한을 가지고 있다면 su -는 건너뛸 수 있습니다.

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

선호하는 터미널 텍스트 편집기로 error.log 파일을 엽니다. (저는 전문가가 아니기 때문에 nano를 선호하지만, 먼저 설치해야 합니다.)

nano error.log

^V(CTRL-V)를 눌러 파일의 마지막 줄(최신 항목)을 찾습니다. 작업이 끝나면 셸로 돌아가기 위해 ^X를 누릅니다.

작업이 끝나면 CentOS root 셸로 돌아가기 위해 exit를 실행합니다.

지시사항을 따랐을 때 이 오류가 발생했습니다

-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의 로그 파일이 어디에 있는지 확인됩니다.