본문 바로가기

WEB/NGINX

NGINX Log 설정


# 테스트 환경

  • OS : Oracle Linux Server release 8.6
  • JDK : 1.8
  • Tomcat : 9.0.89
  • Nginx ver. : 1.14.1

 

1. Log 경로 변경

NGINX의 기본 로그 경로는 다음과 같다.

access_log /var/log/nginx/access.log
error_log /var/log/nginx/error.log

 

log를 따로 빼서 보관하기 위해 아래의 경로를 생성 후

access_log  /logs/nginx/access_log/access.log
error_log /logs/nginx/error_log/error.log

 

해당 경로로 nginx.conf에서 설정 값을 변경 후 재 실행하게 되면 Permission denied 에러가 떨어지게 된다.

systemctl status nginx 명령어로 상태 확인 결과 해당 에러 확인 가능

 

새로 생서한 Log 경로에 권한 때문에 발생한 문제였다.

drwxr-xr-x.  2 nginx root  41 Oct 31 11:13 nginx

 

위와 같이 접근 권한을 올바르게 잡아주니 정상적으로 Log 경로가 변경되어 쌓이기 시작했다.

 

2. server 별 Log 경로 분기

포괄적인 Log 정보 보다는 Server 별 상세 Log를 따로 관리하는 것이 유지보수 및 문제점을 찾는 데 있어서 더 수월하다.

 

Servrer 별로 Log 정보를 분기 시키기 위해서는 아래와 같은 설정이 필요하다.

 

1. 전역 설정으로 되어 있는 error_log, error_log 설정 구문 주석 처리

# error_log /var/log/nginx/error.log;
# access_log /var/log/nginx/access.log;

 

2. server 블럭마다 Log 경로 설정

 server {
        listen       80;
        server_name  www.tjddus97.or.kr;
        return 301 https://$host$request_uri;
        access_log /logs/nginx/tjddus97_80/access.log;
        error_log /logs/nginx/tjddus97_80/error.log;
    }

    server {
        listen       443;
        server_name  www.tjddus97.or.kr;
        root         /usr/share/nginx/html;
        access_log /logs/nginx/tjddus97_443/access.log;
        error_log /logs/nginx/tjddus97_443/error.log;
    }

 

server 블럭마다 원하는 dir 및 log명, log 형식을 지정하여 설정 파일 저장 후 reload 한다.

 

설정 적용 후 각 server마다 설정한 log 디렉터리로 잘 쌓이는 것이 확인 가능하다.

'WEB > NGINX' 카테고리의 다른 글

NGINX Health Check  (0) 2024.10.30
Nginx 보안 취약점  (0) 2024.08.22
HTTP to HTTPS Redirect  (0) 2024.07.31
13: Permission denied while connecting to upstream  (0) 2024.07.30
nginx & WAS 연동  (0) 2024.07.30