본문 바로가기

프로젝트 설정/서버

[NGINX] 로그(log) 저장 경로 변경 후 분할 되도록 수정 (feat. logrotate)

반응형

nginx 에서 log 파일 관리가 힘들것 같아 아래와 같이 변경하였더니

저장은 잘 되는데 분할되지 않는걸 아래 사진에서 확인 할 수 있다.

그래서 그걸 하는 방법을 찾아보려고 한다.

server {
    listen       80;
    server_name  test.mydomain;
    
#    원본
#    access_log  /var/log/nginx/access.log;
#    error_log  /var/log/nginx/error.log;
    
    access_log  /var/log/nginx/test.mydomain/access.log;
    error_log  /var/log/nginx/test.mydomain/error.log;

원래
경로 변경 후

1. 폴더 권한 부여

sudo chown -R nginx:nginx /var/log/nginx/test.mydomain

2. logrotate 설정 파일 수정

# 원본
/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                if [ -f /var/run/nginx.pid ]; then
                        kill -USR1 `cat /var/run/nginx.pid`
                fi
        endscript
}

# 추가
/var/log/nginx/*.log /var/log/nginx/test.mydomain/*.log {
...

# 아스타리크로 처리하기
/var/log/nginx/*.log /var/log/nginx/*/*.log {
...

3. nginx 재시작

service nginx restart

4. logrotate 테스트 (디버그 버전)

sudo logrotate -d /etc/logrotate.d/nginx

해당 사항을 다 보고 싶으나 너무 길어서 전체가 안보일때

sudo logrotate -d /etc/logrotate.d/nginx 2>&1 | sudo tee logrotate_debug_output.txt
반응형