nginx 시리즈 - 04 - nginx 로그 설정
이 글 은 nginx 의 로그 설정 과 관련 된 내용 을 소개 합 니 다.
로그 설정 하면 다음 과 같은 몇 가지 가 있 습 니 다.
1.1 문법 형식
이 명령 은 로그 기록 의 형식 을 설정 하 는 데 사용 된다.
log_format name format [format ...]
name : ,
1.2 기본 로그 형식
기본 적 인 상황 에서 nginx 의 기본 로그 형식 은 다음 과 같 습 니 다 (버 전 마다 약간 다 를 수 있 습 니 다).
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
가능 한 로그 형식 은 다음 과 같 습 니 다.
192.168.161.1 - - [25/Oct/2016:05:39:45 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://192.168.161.126/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
1.3 흔 한 내장 변수
name
DESC
$http_x_forwarded_for
클 라 이언 트 IP 주소
$remote_addr
클 라 이언 트 IP 주소
$remote_user
사용자 이름 (실제 사용 하 는 인증 방식 과 관계 가 있 음)
$time_local
접근 시간 및 사용자 가 있 는 시간 대
$request
URL 및 HTTP 프로 토 콜 버 전
$status
클 라 이언 트 에 게 보 내 는 HTTP 상태 코드, 예 를 들 어 200, 302, 304, 404, 500 등
$body_bytes_sent
클 라 이언 트 에 게 보 내 는 데이터 크기
$http_referer
사용 자 는 어느 URL 에서 현재 URL 에 도 달 했 습 니까?예 를 들 어 일반적인 체인 기술 에서 사용 하 는 것 은 이 요청 헤드 입 니 다. 물론 이것 은 쉽게 모 의 사칭 할 수 있 습 니 다.
$http_user_agent
사용자 가 사용 하 는 탐색 에 관 한 정보
1.4 응용
역방향 프 록 시 인 nginx 는 백 엔 드 서버 로 전송 요청 을 할 때 백 엔 드 서버 에서 받 은 클 라 이언 트 주 소 는 nginx 의 주소 입 니 다. 사용자 정의 로그 형식 으로 해결 할 수 있 습 니 다.역방향 프 록 시 설정 처 (proxy set) 에서 도 설정 할 수 있 으 며 후속 장 에서 소개 합 니 다.
log_format reverseRealIpFormat1 '$http_x_forwarded_for - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
2 access_log
이 명령 은 로그 에 접근 하 는 경로 와 형식 등 정 보 를 지정 하 는 데 사 용 됩 니 다.
2.1 문법 형식
access_log path [log_format_name [buffer=buffer_size | off]]
2.2 예시
접근 로그 닫 기
access_log off;
기본 설정
# combined ,
access_log logs/access.log combined;
사용자 정의 로그 형식
log_format reverseRealIpFormat1 '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/my-access.log reverseRealIpFormat1 buffer=8k;
2.3 open_log_file_cache
accesslog 에서 변 수 를 사용 할 수 있 습 니 다. 예 를 들 어:
#
access_log /var/log/nginx/$server_name.log reverseRealIpFormat1;
# buffer
access_log /var/log/nginx/$server_name.log reverseRealIpFormat1 buffer=8k;
그러나 여기 서 변 수 를 사용 할 때 다음 과 같은 제한 이 있 습 니 다.
open_log_file_cache 는 경로 에 변 수 를 포함 하 는 로그 설정 에서 로그 파일 의 파일 설명자 캐 시 를 설정 할 수 있 습 니 다.
open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time] | off;
max: , 。
inactive: " ", 。
min_uses: , min_uses 。
valid: 。
예 를 들 면:
open_log_file_cache max=655350 inactive=20s;
3 error_log
accesslog 유사, error로그 도 기록 로 그 를 설정 하 는 명령 입 니 다.하지만 오류 로 그 를 기록 하고 있 습 니 다.
이 명령 은 http, stream, server, location 세그먼트 에서 지정 할 수 있 으 며, 더 바깥 세그먼트 의 설정 을 덮어 쓸 수 있 습 니 다.
error_log /var/log/nginx/error.log warn;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.