>  기사  >  운영 및 유지보수  >  nginx 로그를 읽는 방법

nginx 로그를 읽는 방법

青灯夜游
青灯夜游원래의
2019-06-06 18:08:406759검색

nginx 로그에는 액세스 로그와 오류 로그라는 두 가지 주요 유형이 있습니다. 액세스 로그는 주로 클라이언트가 nginx에 액세스하기 위한 모든 요청을 기록하며 형식을 사용자 정의할 수 있습니다. 오류 로그는 주로 클라이언트가 nginx에 액세스할 때 오류가 발생하는 경우 로그를 기록하며 형식은 사용자 정의를 지원하지 않습니다. 두 로그 모두 선택적으로 끌 수 있습니다.

nginx 로그를 읽는 방법

액세스 로그를 통해 사용자의 지리적 출처, 점프 소스, 사용 터미널, 특정 URL에 대한 방문 횟수와 같은 관련 정보를 오류 로그를 통해 얻을 수 있으며, 특정 서비스의 성능 병목 현상을 얻을 수 있습니다. 시스템의 서버 등. 따라서 로그를 잘 활용하면 귀중한 정보를 많이 얻을 수 있습니다.

액세스 로그

[Access.log]

log_format  main  '$remote_addr $remote_user [$time_local] "$request" $http_host '
                  '$status $upstream_status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" $ssl_protocol $ssl_cipher $upstream_addr '
                  '$request_time $upstream_response_time';

설명:

에서 데이터 알고리즘 변경

변수 이름

변수 설명

$remote_addr

클라이언트 주소

113.140.15.90

$remote_user

클라이언트 사용자 이름

-

$time_local

액세스 시간 및 시간대

2012년 7월 18일:17:00: 01 +0800

$request

requestedURIHTTPprotocol

"GET /pa/img/home/ logo-alipay- t.png HTTP/1.1"

$http_host

요청 주소는 브라우저에 입력한 주소입니다(IP 또는 도메인 이름)

img.alipay.com

10.253.70.103

$상태

HTTP요청 상태

200

$ upstream_status

upstreamstatus

200

$body_bytes_sent

클라이언트로 전송되는 파일 콘텐츠 크기

547

$http_referer

점프 소스

"https://cashier.alipay.com.../"

$http_user_agent

사용자 터미널 에이전트

"Mozilla/4.0(호환; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;

$ssl_protocol

SSL프로토콜 버전

TLSv1

$ssl_cipher

Ex

RC4-SHA

$upstream_addr

백엔드 upstream의 주소, 즉 실제로 서비스를 제공하는 호스트 주소

10.228.35.2 47:80

$request_time

전체 요청의 총 시간

0.205

$upstream_response_time

요청 프로세스 중 , upstream응답 시간

0.002

참고: $http_host 값은 브라우저에 입력하는 값과 관련이 있습니다.

오류 로그

"recv()가 실패했습니다(104 : 피어에 의한 연결 재설정)"일부 연결을 중단합니다. "(111: 연결이 거부됨)을 눌렀습니다. ""(111: 연결이 거부됨) 오류를 받게 됩니다.""(111: 연결이 거부됨) 오류가 발생합니다. "언제 upstream이 성공적으로 연결되어 데이터를 전송합니다. 백엔드 "(110: 연결 시간 초과)이 발생합니다. 업스트림에 연결 중"upstream에 연결할 때 시간이 초과되었습니다."(110: 업스트림을 읽는 동안 연결 시간이 초과되었습니다." 헤더에 응답하는 동안 시간이 초과되었습니다. 업스트림이 업스트림에서 응답 헤더를 읽는 동안 유효한 HTTP/1.0 헤더를 전송하지 않았습니다."업스트림에서 유효한 HTTP/1.0 헤더를 전송하지 않았습니다."클라이언트도 전송하려고 했습니다. Large body"body가 설정을 초과합니다. 값

오류 메시지

오류 설명

"업스트림이 조기에(조기) 연결을 닫았습니다."

Request 예외 uri 중에 발생하는 문제는 upstream이 아직 사용자에게 응답을 반환하지 않았을 때 사용자 연결을 끊기 때문에 발생합니다. 이는 시스템에 영향을 주지 않으며 무시할 수 있습니다

(

1) 서버의 동시 연결 수가 용량을 초과하여 서버가

(2) 서버가 클라이언트에 데이터를 보내는 동안 고객이 브라우징을 껐습니다.

(3) 업스트림에 연결하는 동안 브라우저가 Stop

연결 시 백엔드

업스트림이 중단되거나 차단되면 사용자는 업스트림에서 응답 헤더를 읽는 동안

사용자가 연결 성공 후 데이터를 읽을 때 백엔드

업스트림이 중단되거나 차단되면 업스트림에 요청을 보내는 동안

Nginx 및
upstream이 중단되거나 차단되면 이 오류

nginx가 후속

nginx 연결 시간 초과 업스트림에서 응답 헤더를 읽는 동안 오류가 발생했습니다."

"(110: 연결 시간 초과) 업스트림을 읽는 동안"

"(104: 피어에 의한 연결 재설정) 업스트림에 연결하는 동안"

RST를 보냈습니다. 연결을 재설정

"업스트림이 업스트림에서 응답 헤더를 읽는 동안 잘못된 헤더를 보냈습니다. "

는 허용되는 클라이언트 요청 콘텐츠의 최대 값을 설정하는 데 사용됩니다. 기본값은 1M이고,

클라이언트가 보낸

"로그 다시 열기"

사용자가

kill -USR1 명령을 보냅니다.

"정상적으로 종료 중",

用户发送kill  -WINCH命令

"업스트림 내부에 서버가 없습니다."

upstream下未配置 server

"업스트림에 연결하는 동안 라이브 업스트림이 없습니다."

upstream下的server전체tour挂了

"SSL_do_handshake() 실패"

SSL握手失败

"클라이언트로 보내는 동안 SSL_write()가 실패했습니다(SSL:)"

 

"(13: 권한이 거부되었습니다) 업스트림을 읽는 동안"

 

"(98: 이미 사용 중인 주소) 업스트림에 연결하는 동안"

 

"(99: 요청한 주소를 할당할 수 없음) 업스트림에 연결하는 동안"

 

"ngx_slab_alloc() 실패: SSL 세션 공유 캐시에 메모리가 없습니다"

ssl_session_cache大小不够等원因造成

"SSL 핸드셰이킹 중에 세션 캐시에 새 SSL 세션을 추가할 수 없습니다."

ssl_session_cache大小不够等하라因造成

"send() 실패 (111 : 연결 거부됨)"

 

 

위 내용은 nginx 로그를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.