실전 Nginx (2) - 로그 모듈

nginx 는 매우 유연 한 로그 기록 모드 를 가지 고 있 습 니 다.각 단계 의 설정 은 각각 독립 된 접근 로 그 를 가 질 수 있 습 니 다.로그 형식 logformat 명령 으로 정의 합 니 다.ngx_http_log_module 는 요청 로그 형식 을 정의 하 는 데 사 용 됩 니 다.
로그 기록 설정 설명
1. access_로그 명령
  : access_log path [format [buffer=size [flush=time]]];
access_log path format gzip[=level] [buffer=size] [flush=time];
access_log syslog:server=address[,parameter=value] [format];
access_log off;
   : access_log logs/access.log combined;
   : http, server, location, if in location, limit_except

gzip 압축 등급.
버퍼 는 메모리 캐 시 영역 크기 를 설정 합 니 다.
flush 는 캐 시 영역 에 가장 오래 저 장 됩 니 다.
기록 되 지 않 은 로그: accesslog off;
기본 main 형식 으로 로그 기록: accesslog logs / access. log 또는 accesslog logs/access.log main;
2. log_형식 명령 어
  : log_format name string …;
   : log_format main “…”;
   : http

name 은 형식 이름, string 표시 등의 의 미 를 나타 내 는 형식 입 니 다.log_format 는 apache 의 combined 로그 형식 에 해당 하 는 기본 설정 이 필요 없 는 main 로그 형식 이 있 습 니 다. 다음 과 같 습 니 다.
log_format  main  '$remote_addr - $remote_user  [$time_local]  '
                  ' "$request"  $status  $body_bytes_sent  '
                  ' "$http_referer"  "$http_user_agent" ';

로그 형식 에 포 함 된 변수 설명 은 다음 과 같 습 니 다.
$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 #            。

2. http 세그먼트 의 로그 형식 을 apache 스타일 의 로그 로 설정 하고 가상 호스트 에서 호출 합 니 다.
  • 메 인 프로필 을 편집 하고 http 세그먼트 의 기본 로그 형식 을 설정 합 니 다:
  • [root@www ~]# vim /etc/nginx/nginx.conf
    log_format  main  '$remote_addr - $remote_user  [$time_local]  '
                      ' "$request"  $status  $body_bytes_sent '
                      ' "$http_referer"  "$http_user_agent" ';

    2. 가상 호스트 에서 호출 하기;
    [root@www ~]# vim /etc/nginx/extra/nginx-vhost.conf 
    server {
            listen       80;
            server_name www.stu31.com;
            index index.html index.htm index.php;
            root  /www/vhosts/www1;
            access_log  /var/log/nginx/www.stu31.com.log main ;
    }

    3. 문법 검사:
    [root@www ~]# service nginx configtest
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    4. nginx 서비스 다시 시작:
    [root@www ~]# service nginx restart
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    Stopping nginx:                                            [  OK  ]
    Starting nginx:                                            [  OK  ]

    5. 연결 테스트:
    [root@www ~]# elinks -dump http://172.16.31.40
       172.16.31.40 www.stu31.com
    [root@www ~]# elinks -dump http://www.stu31.com
       172.16.31.40 www.stu31.com

    6. 로그 보기:
    [root@www ~]# tail /var/log/nginx/www.stu31.com.log 
    172.16.31.254 - - [27/Dec/2014:10:37:56 +0800] GET / HTTP/1.1304 0 - Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36 -
    127.0.0.1 - - [27/Dec/2014:10:40:17 +0800] GET / HTTP/1.1200 27 - ELinks/0.12pre5 (textmode; Linux; -) -
    127.0.0.1 - - [27/Dec/2014:10:40:29 +0800] GET / HTTP/1.1200 27 - ELinks/0.12pre5 (textmode; Linux; -) -
    172.16.31.254 - -  [27/Dec/2014:11:38:48 +0800]   "GET / HTTP/1.1"  304  0  "-"  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" 
    172.16.31.254 - -  [27/Dec/2014:11:38:50 +0800]   "GET / HTTP/1.1"  304  0  "-"  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" 
    172.16.31.254 - -  [27/Dec/2014:11:38:50 +0800]   "GET / HTTP/1.1"  304  0  "-"  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" 
    172.16.31.254 - -  [27/Dec/2014:11:38:52 +0800]   "GET / HTTP/1.1"  304  0  "-"  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" 
    172.16.31.254 - -  [27/Dec/2014:11:38:58 +0800]   "GET / HTTP/1.1"  200  27  "-"  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" 
    172.16.31.40 - -  [27/Dec/2014:11:39:54 +0800]   "GET / HTTP/1.1"  200  27  "-"  "ELinks/0.12pre5 (textmode; Linux; -)" 
    127.0.0.1 - -  [27/Dec/2014:11:40:00 +0800]   "GET / HTTP/1.1"  200  27  "-"  "ELinks/0.12pre5 (textmode; Linux; -)"

    좋은 웹페이지 즐겨찾기