nginx 설정 nginx 로그 열기

9998 단어 nginx

Nginx 설정
먼저 실제 프로필 을 봅 니 다:
 
user  root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr|||$remote_user|||$time_local|||$request_uri'   
                      '|||$status|||$body_bytes_sent|||$http_referer'   
                      '|||$http_user_agent|||$http_x_forwarded_for';   
  
    access_log  off;   
    #access_log  logs/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       81;
        server_name  localhost;

        #charset koi8-r;
 
        access_log  /usr/local/nginx/nginxlog/access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

 
 
nginx 로그 관련 명령 은 주로 두 가지 가 있 습 니 다. logformat, 로그 형식 설정, access로그 파일 의 저장 경로, 형식, 캐 시 크기 1, log형식 형식    log_format       name (형식 이름)  형식 스타일 (즉, 어떤 로그 내용 을 얻 고 싶 은 지) 의 기본 예제:  log_format     main               '$remote_addr - $remote_user [$time_local] "$request" '                                              '$status $body_bytes_s ent "$http_referer" '                                              '"$http user agent" "$http x forward for" "주석: $remoteaddr   와 $httpx_forwarded_for 클 라 이언 트 의 ip 주 소 를 기록 합 니 다. $remote_user   :클 라 이언 트 사용자 이름 기록 하기; $time_local  : 방문 시간 과 시간 대 를 기록 하 는 데 사용 하기;  $request  :  요청 한 url 과 http 프로 토 콜 기록 하기;
$request_uri: /stat.php?id=1585378&web_id=1585378$uri /stat.php$document_uri: /stat.php$status     :  요청 상 태 를 기록 하기;성공 은 200, $bodybytes_s ent  :클 라 이언 트 파일 에 보 내 는 주체 내용 크기 기록 하기; $http_referer  :그 페이지 링크 에서 접근 한 것 을 기록 하기; $http_user_agent  :클 라 이언 트 독 아 브 라 우 저의 관련 정보 기록 하기;
보통 웹 서버 는 역방향 프 록 시 뒤에 놓 여 있 습 니 다. 그러면 고객 의 IP 주 소 를 얻 을 수 없습니다. $reote 를 통 해add 가 받 은 IP 주 소 는 프 록 시 서버 를 반대 하 는 아이 폰 주소 입 니 다.역방향 프 록 시 서버 는 요청 한 http 헤더 정 보 를 전송 할 때 x 를 증가 시 킬 수 있 습 니 다.forwarded_for 정 보 는 기 존 클 라 이언 트 의 IP 주소 와 기 존 클 라 이언 트 가 요청 한 서버 주 소 를 기록 합 니 다.    log_format     mylogformat     ' $http_x_forwarded_for- $remote_user [$time_local] '                                                  ' "$request"   '$status $body_bytes_s ent '                                                  ' "$http_referer" "$http_user_agent" ';2, access 로로그 명령 로그 파일 저장 경로;log 사용format 명령 이 로그 형식 을 설정 한 후 access로그 명령 은 로그 파일 의 저장 경 로 를 지정 합 니 다.access_log        path (저장 경로)                   format (사용자 정의 로그 이름) 예제: \ # accesslog             logs/access.log              main;우 리 는 logformat 는 my logformat 로 그 를 정의 합 니 다. 이렇게 access 로 쓸 수 있 습 니 다.log             logs/access.log         mylogformat ;
로그 사용 하지 않 으 려 면: accesslog off ;
정의 로그 디 렉 터 리 에서 주의해 야 할 것 은,
        1. nginx 프로 세 스 가 설정 한 사용자 와 그룹 은 이 경로 에 파일 을 만 들 수 있 는 권한 이 있어 야 합 니 다. nginx 의 usr 명령 이 설정 한 사용자 이름과 사용자 그룹 이 모두 ww 이 고 logs 디 렉 터 리 의 사용자 이름과 그룹 이 root 라 고 가정 하면 로그 파일 을 만 들 수 없습니다.
 
        2. 일반적인 상황 에서 ngix. conf 프로필 에 http 에 access 가 설정 되 어 있 지 않 으 면log off;기본적으로 모든 방문 로 그 를 / var / log / nginx 디 렉 터 리 에 출력 합 니 다. 이 제 는 서로 다른 사이트 의 로 그 를 구분 하려 고 access 를 추 가 했 습 니 다.log off。
        이전 많은 인터넷 설정 방법 에 따 르 면 각 가상 호스트 설정 파일 의 server 세그먼트 에 로그 형식 과 로그 출력 경 로 를 추가 하 는 것 입 니 다. 다음 과 같 습 니 다.
 
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log  /home/wwwlogs/ddhow.com.log access;
error_log  /home/wwwlogs/ddhow.com-error.log;

 
lua 기록 로그:
user  root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format tick "$msec|||$u_t|||$remote_addr|||$u_domain|||$u_url|||$u_title|||$u_referrer|||$u_sh|||$u_sw|||$u_cd|||$u_lang|||$http_user_agent|||$u_utrace|||$u_account|||$u_time";
    

    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

	location /1.gif {
    	#   gif  
    	default_type image/gif;
    	#    access_log,  subrequest  log
    	access_log off;
    	access_by_lua "
    	--     cookie  __utrace
    	local uid = ngx.var.cookie___utrace
    	if not uid then
    	--            cookie,   md5(   +IP+     )
    	uid = ngx.md5(ngx.now() .. ngx.var.remote_addr .. ngx.var.http_user_agent)
    	end
    	ngx.header['Set-Cookie'] = {'__utrace=' .. uid .. '; path=/'}
    	if ngx.var.arg_domain then
    	--   subrequest /i-log    ,        cookie   
    	ngx.location.capture('/i-log?' .. ngx.var.args .. '&utrace=' .. uid .. '&time=' .. ngx.localtime())
    	end
    	";
    	#      
    	add_header Expires "Fri, 01 Jan 1980 00:00:00 GMT";
    	add_header Pragma "no-cache";
    	add_header Cache-Control "no-cache, max-age=0, must-revalidate";
    	#    1×1  gif  
    	empty_gif;
    	}
    	location /i-log {
    	#  location,         
    	internal;
   	 #    ,    unescape
    	set_unescape_uri $u_domain $arg_domain;
	set_unescape_uri $u_t $arg_t;
    	set_unescape_uri $u_url $arg_url;
    	set_unescape_uri $u_title $arg_title;
    	set_unescape_uri $u_referrer $arg_referrer;
    	set_unescape_uri $u_sh $arg_sh;
    	set_unescape_uri $u_sw $arg_sw;
    	set_unescape_uri $u_cd $arg_cd;
    	set_unescape_uri $u_lang $arg_lang;
    	set_unescape_uri $u_utrace $arg_utrace;
    	set_unescape_uri $u_account $arg_account;
	set_unescape_uri $u_time $arg_time;
    	#    
    	log_subrequest on;
    	#     ma.log,        buffer,   tick
    	access_log /usr/local/nginx/nginxlog/access.log tick;
    	#      
    	echo '';
    	}

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	
	# remove the robots line if you want to use wordpress' virtual robots.txt
       	location = /robots.txt  { access_log off; log_not_found off; }
        location = /favicon.ico { access_log off; log_not_found off; }
        # this prevents hidden files (beginning with a period) from being served
        location ~ /\.          { access_log off; log_not_found off; deny all; }

    }



}

좋은 웹페이지 즐겨찾기