본문 바로가기

리눅스

Nginx에서 로그 파일을 생성하는 방법

728x90

Nginx에서 로그 파일을 생성하는 방법

Nnginx 로그 파일을 생성하려면 log_format 지시자를 사용하여 로그 파일의 형식을 지정하고 access_log 또는 error_log 지시자를 사용하여 로그 파일의 경로와 이름을 지정합니다.

1. nginx 로그 파일을 생성하는 방법

server {
    listen 80;
    server_name example.com www.example.com m.example.com;

    access_log /var/log/nginx/www.example.com-access.log;
    error_log /var/log/nginx/www.example.com-error.log;

    # ... 다른 설정 ...
}

2. nginx host 지시자를 사용하여 로그 파일을 생성하는 방법

$host 변수를 사용하여 호스트 이름에 따라 동적으로 로그 파일 이름을 생성합니다.

server {
    listen 80;
    server_name example.com www.example.com m.example.com;

    access_log /var/log/nginx/$host-access.log;
    error_log /var/log/nginx/www.example.com-error.log;

    # ... 다른 설정 ...
}

3. nginx map 지시자를 사용하여 로그 파일을 생성하는 방법

$host 변수를 사용하여 $log_suffix 변수를 설정하고 이를 access_log 지시자에서 사용하여 동적으로 로그 파일을 선택합니다.

map $host $log_suffix {
    default "";
    www.example.com "/var/log/nginx/www.example.com-access.log";
    m.example.com "/var/log/nginx/m.example.com-access.log";
}

server {
    listen 80;
    server_name example.com www.example.com m.example.com;

    access_log $log_suffix;
    error_log /var/log/nginx/www.example.com-error.log;

    # ... 다른 설정 ...
}

 

변수를 액세스 로그 이름에 사용할 수 있지만 오류 로그에는 사용할 수 없습니다.

출처-https://serverfault.com/questions/1114268/is-it-possible-to-use-mapped-variables-in-the-nginx-error-log-filename

 

참고URL

- nginx documentation : Module ngx_http_map_module

- nginx documentation : Module ngx_http_core_module

 

728x90