Nginx/NGINX 설정 에러
error_log에 off 사용 불가 → error_log /dev/null emerg으로 비활성화
hippo 데브옵스
2024. 3. 31. 17:02
- error_log off 지시문으로는 로깅을 비활성화 불가 → access_log 지시어와 달리 error_log는 off 매개 변수를 사용하지 않음
- 만약 nginx에 error_log off 지시어를 포함하면 nginx 구성 파일의 기본 디렉토리(/etc/nginx)에 off라는 이름의 에러 로그 파일을 생성됨
- error_log 로그는 nginx의 문제를 디버깅할 때 중요한 정보 소스이므로 비활성화하지 않는 것이 좋지 않음
- 만약 스토리지가 너무 제한적이어서 사용 가능한 디스크 공간을 모두 소진할 정도의 경우 오류 로깅을 비활성화하는 것이 좋음
- main 설정에 error_log 지시어 사용 예시
error_log /dev/null emerg;
- error_log 지시어
- 여러 개의 로그를 지정 가능
- main configuration 수준에서 로그를 쓰는 것이 명시적으로 정의되어 있지 않으면 기본 파일이 사용
구문 : error_log file [level]; 기본 : error_log logs/error.log error; 문맥 : main, http, mail, stream, server, location
- error_log 지시어의 매개변수
- error_log 첫 번째 매개변수
- 로그를 저장할 파일을 정의
- stderr 특수 값은 표준 오류 파일(standard error file)을 선택
- "syslog:" 접두사를 지정하여 syslog에 로깅하도록 구성 가능
- "memory: size" 접두사와 버퍼 크기를 지정하여 순환 메모리 버퍼에 로깅 구성 가능. 일반적으로 디버깅에 사용
- erorr_log 두 번째 매개변수
- 로깅 수준을 결정
- debug, info, notice, warn, error, crit, alert 중 하나가 될 수 있음
- 로그 수준(Log levels)은 심각도가 높아지는 순서대로 나열
- 특정 로그 수준(certain log level)을 설정하면 지정된 로그 수준보다 더 심각한 로그 수준의 모든 메시지가 기록됨 → 예시) 오류 로그(error log)는 error, crit 및 alert 메시지가 기록됨
- error_log 매개 변수를 생략하면 error가 사용
- error_log 첫 번째 매개변수
- error_log 지시어는 nginx가 구성을 읽고 유효성을 검사할 때까지 적용되지 않는다는 점에 유의
- nginx가 시작하거나 구성이 다시 로드될 때마다 구성의 유효성이 검사 → 기본 error log(/var/log/nginx/error.log) 로깅
- 로그 디렉터리를 변경하려면 nginx 명령에 -e <error_log_location> 파라미터를 포함
참고 자료 : Avoiding the Top 10 NGINX Configuration Mistakes - NGINX