Nginx 로그 일자별 기록하기
라이언의 꿀팁백과
1 문제점
대부분의 일반적인 프로그램은 로그(log)[1]를 남긴다. 오픈소스 웹서버인 nginx 또한 로그를 남기는데 기본적으로 해당 프로그램은 1개의 파일에 로그를 기록하기 때문에 관리에 어려움이 발생한다.
2 해결방법
이러한 문제점을 해결하기 위해서는 로그를 의미 있는 단위로 나누어서 관리하는 것이다. 가장 일반적인 방법은 일자로 로그를 나누는 것인데, 이를 위해 여기서는 logrotate[2] 라는 프로그램을 사용하고자 한다.
3 logrotate 관련 설정
아래와 같이 /etc/logrotate.d/nginx 라는 파일을 생성한다.
/app/nginx/logs/*.log {
create 0644 nginx web
daily
missingok
rotate 365
compress
delaycompress
notifempty
dateformat .%Y-%m-%d.log
dateext
sharedscripts
postrotate
if [ -f /app/nginx/run/nginx.pid ]; then
kill -USR1 `cat /app/nginx/run/nginx.pid`
fi
endscript
}