nginx 로그 설정 및 절단
6296 단어 nginx
Nginx 에서 로그 에 접근 하 는 명령 은 주로 두 가지 가 있 는데 하 나 는 log 입 니 다.format, 로그 의 형식 을 설정 하 는 데 사용 되 며, 다른 하 나 는 access 입 니 다.로그, 로그 문직 의 저장 경로, 형식, 캐 시 크기 를 지정 합 니 다.두 명령 이 Nginx 프로필 에 있 는 위 치 는 http 사이 에 있 습 니 다.
로그 설정
log_format
log_format 는 로그 형식 을 설정 하 는 데 사 용 됩 니 다. 형식 은 다음 과 같 습 니 다.
log_format name( ) format( )
Nginx 에는 다음 과 같은 기본 로그 형식 이 있 습 니 다.
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
이 내용 은 무슨 뜻 입 니까?이해 해 보 자.
log_format mylog '$remote_addr [$time_local] "$request" $status';
로그 형식 에 포 함 된 변수 설명 을 허용 합 니 다. 다음 과 같 습 니 다.
$remote_addr, $http_x_forwarded_for IP
$remote_user
$request URL HTTP
$status
$body_bytes_sent , ; Apache mod_log_config “%B” 。
$bytes_sent 。
$connection 。
$connection_requests 。
$msec 。 , 。
$pipe HTTP (pipelined) ,pipe “p”, “.”。
$http_referer
$http_user_agent
$request_length ( , )。
$request_time , , ; , 。
$time_iso8601 ISO8601 。
$time_local 。
access_log
log 로format 명령 이 로그 형식 을 설정 한 후 access로그 명령 은 로그 파일 저장 경 로 를 지정 합 니 다.
양식 은 아래 와 같다.
access_log path( ) [format( ) [buffer=size | off]]
Nginx 에 기본 로그 경로 가 있 습 니 다. 다음 과 같 습 니 다.
#access_log logs/access.log main;
로 그 를 닫 으 려 면 다음 과 같 습 니 다.
access_log off;
주의해 야 할 것 은 Nginx 프로 세 스 가 설정 한 사용자 와 그룹 은 로그 경로 에 파일 을 만 들 수 있 는 권한 이 있어 야 합 니 다. 그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.
또한, 모든 로그 기록 에 대해 서 는 파일 을 먼저 열 고 로 그 를 기록 한 다음 닫 습 니 다.오픈 사용 가능log_file_cache 에서 로그 파일 캐 시 를 설정 합 니 다 (기본 값 은 off).
로그 절단
사이트 방문 이 많 으 면 로그 데이터 가 많 습 니 다. 로그 파일 에 모두 쓰 면 파일 이 점점 커 집 니 다.파일 의 큰 속도 가 느 려 질 것 이다. 예 를 들 어 하나의 파일 이 수백 메 가 이다.로 그 를 쓸 때 작업 속도 에 영향 을 줍 니 다.또한 방문 로 그 를 보고 싶다 면 수백 조 의 파일 을 다운로드 해서 열 어도 느리다.
로 그 를 분석 하고 계산 하 는 데 편리 하도록 로 그 를 정기 적 으로 절단 해 야 한다.정시 에 절단 하 는 방식 은 달 에 따라 절단 하고 날 에 따라 절단 하 며 시간 에 따라 절단 하 는 등 이 있다.가장 자주 사용 하 는 것 은 하늘 에 따라 자 르 는 것 이다.
셸 스 크 립 트 설정
#!/bin/bash
#
logs_path="/var/logs/nginx/"
# pid
pid_path="/usr/local/dev/nginx/nginx.pid"
#
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
# nginx
kill -USR1 `cat ${pid_path}`
crontab 에서 정시 작업 설정
편집 을 진행 하 다
crontab -e
설정 내용 은 다음 과 같 습 니 다.
0 0 * * * bash /usr/local/dev/nginx/nginx_log.sh
이렇게 하면 매일 밤 12 시 에 자동 으로 백업 파일 을 만 들 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.