원래는 nginx와 apache의 로그를 설명하려고 했으나, 개인적으로 apache를 추천하지 않아서(순전히 개인 취향임) apache의 로그는 소개하지 않겠습니다.
프로그래머로서 코딩보다 조금 더 중요한 것은 로그 분석과 쿼리입니다. 일반적인 로그 및 설정 방법은 다음과 같습니다.
nginx는 access_log와 error_log의 두 가지 로그로 구분됩니다.
설정은 nginx.conf에 있어야 합니다. 기본적으로 소스 패키지를 통해 컴파일되고 설치된 nginx 디렉터리는
/usr/local/nginx
에 있어야 합니다. yum이나 다른 방법으로 설치하는 경우 no nginx의 특정 설치 디렉터리를 알고 있거나 모르면
find / -name nginx.conf
or
nginx -V | grep prefix ------------- nginx version: nginx/1.13.9 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
소스 코드 패키지인 경우 기본적으로 설치되어 있으니, 아래와 같이 경로를 열어주세요
vim /usr/local/nginx/nginx.conf
다음 내용을 찾아보세요
http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; ... }
log_format을 access_log의 주석으로 변경하여 열기만 하면 log_format이 nginx의 로그 사양을 정의할 수 있습니다.
Name | Annotation |
---|---|
$remote_addr | 클라이언트/사용자 IP 주소 |
$time_local | 액세스 시간 |
$request | 요청 메소드 + 요청 주소 |
$status | 요청 상태 코드가 HTTP 상태 코드와 일치합니다 |
$body_bytes_sent | 요청된 주소 크기는 바이트 형식으로 계산됩니다 |
$http_referer | 요청 소스 , 접속 위치 |
$http_user_agent | 사용자 정보(브라우저 정보) |
$http_x_forwarded_for | 전달된 IP 주소 |
기본적으로 설치되어 있는 경우 당신의 출처 코드 패키지를 엽니다. 경로는 다음과 같습니다.
vim /usr/local/nginx/nginx.conf
다음 내용을 찾아 메모를 삭제하세요. 예를 들어
error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;
notice는 오류 유형입니다. 쓰세요, 그게 전부입니다.
Acknowledgements
관련기사:
php-cgi.exe 오류 로그 켜기PHP의 error_log 로그 켜는 방법을 가르쳐 주세요 간단한 달력 만들기 PHP 개발 실습 튜토리얼위 내용은 액세스 로그 활성화 및 오류 로그 활성화에 대해 PHP 프로그래머가 알아야 할 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!