[Nginx] Logging
- Nginx
- 2020. 8. 27.
이전글에 이어서 Nginx의 configuartion에 대해 알아보도록 하겠습니다.
9. Logging
Nginx는 access & error log를 기본으로 제공합니다.
log는 nginx뿐만아니라 많은 service에서 error를 tracking 하거나 user의 행동들을 분석하는데 주요하게 사용되므로, 이번글에선 nginx의 logging system을 어떻게 관리하고 조작하는지 알아보도록 하겠습니다.
저의 nginx default log path는 /var/log/nginx 입니다.
9-1) access log
access log는 모든 nginx에 대한 접근을 기록합니다.
기존에 쌓여있던 log를 비우고 /thumb.png로 접근해보겠습니다.
clear log
access
이후에 access.log 파일을 확인해보면 아래와 같이 정상적으로 log가 쌓여있는것을 확인할 수 있습니다.
9-2) error log
error log는 request의 error뿐만아니라 nginx configuration의 에러내역 또한 기록합니다.
예를 들어 아래와 같이 nginx.conf 내용을 invalid 하게 변경하고 nginx를 reload 하면..😅
nginx.conf
events {}
http {
include mime.types;
server {
listen 80;
server_name 13.209.87.130;
root /sites/demo /some/other/path;
}
}
reload nginx
systemctl reload nginx
root path는 항상 한개만 등록가능하기 때문에 아래와 같은 에러가 error.log에 기록되게 됩니다.
9-3) custom log
default log가 아닌 custom으로 log를 생성할 수도 있습니다.
예를 들어 특정 location 내부에 아래와 같이 선언하면 해당 location에 대한 log만 따로 수집할 수 있습니다.
location /secure {
access_log /var/log/nginx/secure.access.log;
return 200 "Welcome to secure area";
}
/secure
secure.access.log
9-4) disable log
반대로 특정 location에 대한 log를 기록하지 않을 수도 있습니다.
예를 들어 request가 굉장히 많이 들어오는 location에 대해 resource에 부담으로인해 log를 수집하지 않으려 한다면 아래와 같이 선언하면 됩니다.
location /secure {
access_log off;
return 200 "Welcome to secure area";
}
'Nginx' 카테고리의 다른 글
[Nginx] Buffer & Timeout (0) | 2020.08.27 |
---|---|
[Nginx] Worker Process (0) | 2020.08.27 |
[Nginx] Try Files & Named Location (0) | 2020.08.27 |
[Nginx] Redirect & Rewrite (0) | 2020.08.27 |
[Nginx] Location Block & Variables (1) | 2020.08.27 |