最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx訪問日志access_log配置及信息詳解(推薦)

 更新時(shí)間:2024年04月01日 10:01:58   作者:strggle_bin  
當(dāng)你設(shè)置日志級(jí)別成debug,如果你在調(diào)試一個(gè)在線的高流量網(wǎng)站的話,你的錯(cuò)誤日志可能會(huì)記錄每個(gè)請(qǐng)求的很多消息,這樣會(huì)變得毫無意義,下面小編給大家介紹Nginx訪問日志access_log配置及信息詳解,感興趣的朋友跟隨小編一起看看吧

Nginx訪問日志access_log配置及信息

Nginx訪問日志主要有兩個(gè)參數(shù)控制:
log_format #用來定義記錄日志的格式(可以定義多種日志格式,取不同名字即可)
access_log #用來指定日至文件的路徑及使用的何種日志格式記錄日志

#    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的默認(rèn)值:

#access_log  logs/access.log  main;

log_format log_format語(yǔ)法格式及參數(shù)語(yǔ)法說明如下:

 log_format    <NAME>    <Strin---g>;
    關(guān)鍵字     格式標(biāo)簽   日志格式
    關(guān)鍵字:其中關(guān)鍵字error_log不能改變
    格式標(biāo)簽:格式標(biāo)簽是給一套日志格式設(shè)置一個(gè)獨(dú)特的名字
    日志格式:給日志設(shè)置格式
作用域    :    http

eg:

log_format compression '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $bytes_sent '
                       '"$http_referer" "$http_user_agent" "$gzip_ratio"';
access_log /spool/logs/nginx-access.log compression buffer=32k;

log_format格式變量:

參數(shù)                      說明                                         示例
$remote_addr             客戶端地址                                    211.28.65.253
$remote_user             客戶端用戶名稱                                --
$time_local              訪問時(shí)間和時(shí)區(qū)                                18/Jul/2012:17:00:01 +0800
$request                 請(qǐng)求的URI和HTTP協(xié)議                           "GET /article-10000.html HTTP/1.1"
$http_host               請(qǐng)求地址,即瀏覽器中你輸入的地址(IP或域名)     www.wang.com 192.168.100.100
$status                  HTTP請(qǐng)求狀態(tài)                                  200
$upstream_status         upstream狀態(tài)                                  200
$body_bytes_sent         發(fā)送給客戶端文件內(nèi)容大小                        1547
$http_referer            url跳轉(zhuǎn)來源                                   https://www.baidu.com/
$http_user_agent         用戶終端瀏覽器等信息                           "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;
$ssl_protocol            SSL協(xié)議版本                                   TLSv1
$ssl_cipher              交換數(shù)據(jù)中的算法                               RC4-SHA
$upstream_addr           后臺(tái)upstream的地址,即真正提供服務(wù)的主機(jī)地址     10.10.10.100:80
$request_time            整個(gè)請(qǐng)求的總時(shí)間                               0.205
$upstream_response_time  請(qǐng)求過程中,upstream響應(yīng)時(shí)間                    0.002

access_log

語(yǔ)法格式及參數(shù)語(yǔ)法說明如下:

    access_log    <FILE>    <NAME>;
    關(guān)鍵字         日志文件   格式標(biāo)簽
    關(guān)鍵字:其中關(guān)鍵字error_log不能改變
    日志文件:可以指定任意存放日志的目錄
    格式標(biāo)簽:給日志文件套用指定的日志格式
其他語(yǔ)法:
    access_log    off;  #關(guān)閉access_log,即不記錄訪問日志
    access_log path [format [buffer=size [flush=time]] [if=condition]];
    access_log path format gzip[=level] [buffer=size] [flush=time] [if=condition];
    access_log syslog:server=address[,parameter=value] [format [if=condition]];
    說明:
    buffer=size  #為存放訪問日志的緩沖區(qū)大小
    flush=time  #為緩沖區(qū)的日志刷到磁盤的時(shí)間
    gzip[=level]  #表示壓縮級(jí)別
    [if = condition]  #表示其他條件
作用域(參數(shù)的標(biāo)簽段位置)   : http, server, location, if in location, limit_except

eg:

access_log /spool/logs/nginx-access.log compression buffer=32k;

open_log_file_cache

使用open_log_file_cache來設(shè)置日志文件緩存(默認(rèn)是off)。

max:設(shè)置緩存中的最大文件描述符數(shù)量,如果緩存被占滿,采用LRU算法將描述符關(guān)閉。
inactive:設(shè)置存活時(shí)間,默認(rèn)是10s
min_uses:設(shè)置在inactive時(shí)間段內(nèi),日志文件最少使用多少次后,該日志文件描述符記入緩存中,默認(rèn)是1次
valid:設(shè)置檢查頻率,默認(rèn)60s
off:禁用緩存

語(yǔ)法格式:   open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];
                     open_log_file_cache off;
默認(rèn)值:     open_log_file_cache off;
作用域:     http, server, location

eg:

open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;

參考資料:http://nginx.org/en/docs/http/ngx_http_log_module.html

nginx日志調(diào)試技巧

設(shè)置 Nginx 僅記錄來自于你的 IP 的錯(cuò)誤

當(dāng)你設(shè)置日志級(jí)別成 debug,如果你在調(diào)試一個(gè)在線的高流量網(wǎng)站的話,你的錯(cuò)誤日志可能會(huì)記錄每個(gè)請(qǐng)求的很多消息,這樣會(huì)變得毫無意義。

在events{…}中配置如下內(nèi)容,可以使 Nginx 記錄僅僅來自于你的 IP 的錯(cuò)誤日志。

events {
        debug_connection 1.2.3.4;
}

調(diào)試 nginx rewrite 規(guī)則

調(diào)試rewrite規(guī)則時(shí),如果規(guī)則寫錯(cuò)只會(huì)看見一個(gè)404頁(yè)面,可以在配置文件中開啟nginx rewrite日志,進(jìn)行調(diào)試。

server {
        error_log    /var/logs/nginx/example.com.error.log;
        rewrite_log on;
}

rewrite_log on; 開啟后,它將發(fā)送所有的 rewrite 相關(guān)的日志信息到 error_log 文件中,使用 [notice] 級(jí)別。隨后就可以在error_log 查看rewrite信息了。

使用location記錄指定URL的日志

server {
        error_log    /var/logs/nginx/example.com.error.log;
        location /static/ { 
        error_log /var/logs/nginx/static-error.log debug; 
    }         
}

Nginx配置訪問日志過程:

(1)創(chuàng)建log_format語(yǔ)句

worker_processes  1;
error_log logs/error.log error;
events {
    worker_connections  1024;
}
http {
    include status.conf;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    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;
    server {
        listen       80;
        server_name  localhost;
                rewrite ^/.* http://www.wl.com permanent;
    }
    include vhost/*.conf;
}

(2)插入access_log語(yǔ)句

server {
        access_log /data/log/www;
        listen 80;
        server_name abc.com www.wl.com;
        location / {
                root /data/www/www;
                index index.html index.htm;
        }
        error_log    logs/error_www.wl.com.log    error;
        access_log    logs/access_www.wl.com.log    main;
        #新增內(nèi)容↑
}

(3)重啟服務(wù)

nginx -t
nginx -s reload

常用例子

main格式

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"'
                       '$upstream_addr $upstream_response_time $request_time ';
access_log  logs/access.log  main;

json格式

log_format logstash_json '{"@timestamp":"$time_iso8601",'
       '"host": "$server_addr",'
       '"client": "$remote_addr",'
       '"size": $body_bytes_sent,'
       '"responsetime": $request_time,'
       '"domain": "$host",'
       '"url":"$request_uri",'
       '"referer": "$http_referer",'
       '"agent": "$http_user_agent",'
       '"status":"$status",'
       '"x_forwarded_for":"$http_x_forwarded_for"}';

解釋:

uri請(qǐng)求中的當(dāng)前uri(不帶請(qǐng)求參數(shù),參數(shù)位于uri請(qǐng)求中的當(dāng)前URI(不帶請(qǐng)求參數(shù),參數(shù)位于 uri請(qǐng)求中的當(dāng)前URI(不帶請(qǐng)求參數(shù),參數(shù)位于args),不同于瀏覽器傳遞的$request_uri的值,它可以通過內(nèi)部重定向,或者使用index指令進(jìn)行修改。不包括協(xié)議和主機(jī)名,例如/foo/bar.html。
requesturi這個(gè)變量等于包含一些客戶端請(qǐng)求參數(shù)的原始uri,它無法修改,請(qǐng)查看request—_uri這個(gè)變量等于包含一些客戶端請(qǐng)求參數(shù)的原始URI,它無法修改,請(qǐng)查看 requestu?ri這個(gè)變量等于包含一些客戶端請(qǐng)求參數(shù)的原始URI,它無法修改,請(qǐng)查看uri更改或重寫URI。
也就是說:requesturi是原始請(qǐng)求url,request_uri是原始請(qǐng)求URL, requestu?ri是原始請(qǐng)求URL,uri則是經(jīng)過nginx處理請(qǐng)求后剔除參數(shù)的URL,所以會(huì)將漢字表現(xiàn)為union。
坑點(diǎn):
使用uri可以在nginx對(duì)url進(jìn)行更改或重寫,但是用于日志輸出可以使用uri可以在nginx對(duì)URL進(jìn)行更改或重寫,但是用于日志輸出可以使用 uri可以在nginx對(duì)URL進(jìn)行更改或重寫,但是用于日志輸出可以使用request_uri代替,如無特殊業(yè)務(wù)需求,完全可以替換。

壓縮格式

日志中增加了壓縮的信息。

http {
    log_format compression '$remote_addr - $remote_user [$time_local] '
                           '"$request" $status $body_bytes_sent '
                           '"$http_referer" "$http_user_agent" "$gzip_ratio"';
    server {
        gzip on;
        access_log /spool/logs/nginx-access.log compression;
        ...
    }
}

upstream格式

增加upstream消耗的時(shí)間。

http {
    log_format upstream_time '$remote_addr - $remote_user [$time_local] '
                             '"$request" $status $body_bytes_sent '
                             '"$http_referer" "$http_user_agent"'
                             'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';
    server {
        access_log /spool/logs/nginx-access.log upstream_time;
        ...
    }
}

統(tǒng)計(jì)信息

統(tǒng)計(jì)status 出現(xiàn)的次數(shù)

awk '{print $9}' access.log | sort | uniq -c | sort -rn
36461 200 
483 500
87 404
9 400
3 302
1 499
1 403
1 301

顯示返回302狀態(tài)碼的URL。

awk '($9 ~ /302/)' access.log | awk '{print $7}' | sort | uniq -c | sort -rn
1 /wp-login.php
1 /wp-admin/plugins.php?action=activate&plugin=ewww-image-optimizer%2Fewww-image-optimizer.php&_wpnonce=cc4a379131
1 /wp-admin/

到此這篇關(guān)于Nginx訪問日志access_log配置及信息詳解的文章就介紹到這了,更多相關(guān)Nginx訪問日志access_log內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx配置location匹配順序詳細(xì)總結(jié)

    Nginx配置location匹配順序詳細(xì)總結(jié)

    這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級(jí)的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡(jiǎn)單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下
    2023-08-08
  • Nginx 站點(diǎn)垂直擴(kuò)容的幾種優(yōu)化方案

    Nginx 站點(diǎn)垂直擴(kuò)容的幾種優(yōu)化方案

    本文主要介紹了Nginx 站點(diǎn)垂直擴(kuò)容的幾種優(yōu)化方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • nginx從安裝到配置詳細(xì)說明(安裝,安全配置,防盜鏈,動(dòng)靜分離,配置 HTTPS,性能優(yōu)化)

    nginx從安裝到配置詳細(xì)說明(安裝,安全配置,防盜鏈,動(dòng)靜分離,配置 HTTPS,性能優(yōu)化)

    這篇文章主要介紹了nginx從安裝到配置詳細(xì)說明(安裝,安全配置,防盜鏈,動(dòng)靜分離,配置 HTTPS,性能優(yōu)化,緩存,url重寫),需要的朋友可以參考下
    2022-01-01
  • 一些優(yōu)化Nginx服務(wù)器的技巧簡(jiǎn)介

    一些優(yōu)化Nginx服務(wù)器的技巧簡(jiǎn)介

    這篇文章主要介紹了一些優(yōu)化Nginx服務(wù)器的技巧簡(jiǎn)介,包括對(duì)HTTP模塊和Events模塊的配置建議,需要的朋友可以參考下
    2015-06-06
  • 詳解nginx 301跳轉(zhuǎn)到帶www域名方法

    詳解nginx 301跳轉(zhuǎn)到帶www域名方法

    這篇文章主要介紹了詳解nginx 301跳轉(zhuǎn)到帶www域名方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • nginx實(shí)現(xiàn)透轉(zhuǎn)的方法步驟

    nginx實(shí)現(xiàn)透轉(zhuǎn)的方法步驟

    本文主要介紹了nginx實(shí)現(xiàn)透轉(zhuǎn)的方法步驟,實(shí)現(xiàn)HTTP與HTTPS請(qǐng)求的客戶端IP地址透?jìng)?文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Windows安裝nginx服務(wù)全過程

    Windows安裝nginx服務(wù)全過程

    本文詳細(xì)介紹了在Windows系統(tǒng)系統(tǒng)上系統(tǒng)下安裝Nginx并將其設(shè)置為服務(wù)的過程,包括下載安裝、解壓配置、創(chuàng)建服務(wù)文件、安裝服務(wù)、修改配置文件、重啟服務(wù)等步驟,最后還總結(jié)了如何檢查配置和查看服務(wù)狀態(tài)的方法
    2026-04-04
  • 快速解決nginx的access.log持續(xù)變大問題

    快速解決nginx的access.log持續(xù)變大問題

    文章主要講述了nginx的access.log日志文件突然變大的問題,提供了幾種解決方案,包括停止nginx并刪除日志文件、覆蓋日志文件為空以及在配置文件中修改設(shè)置以不打印日志
    2025-11-11
  • nginx源碼分析configure腳本詳解

    nginx源碼分析configure腳本詳解

    這篇文章主要介紹了nginx源碼分析configure腳本詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Linux系統(tǒng)下nginx日志每天定時(shí)切割的腳本寫法

    Linux系統(tǒng)下nginx日志每天定時(shí)切割的腳本寫法

    本篇文章給大家分享使用Linux系統(tǒng)自帶的命令logrotate對(duì)Nginx日志進(jìn)行切割的方法,對(duì)nginx日志切割腳本感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11

最新評(píng)論

陆川县| 涪陵区| 东兴市| 英超| 贵南县| 宜春市| 滁州市| 孝义市| 含山县| 弥渡县| 姚安县| 台中市| 唐河县| 红原县| 广安市| 礼泉县| 海南省| 开封市| 宜都市| 乐安县| 云霄县| 北川| 永丰县| 鄂温| 确山县| 土默特左旗| 乐昌市| 格尔木市| 犍为县| 饶河县| 朔州市| 滨州市| 台南市| 定远县| 湖北省| 龙山县| 富民县| 洛阳市| 宁陵县| 于都县| 宣武区|