nginx 日誌配置

2021-09-19 16:46:21 字數 3155 閱讀 3609

不同使用者防衛nginx會把每個使用者訪問往咱的日誌資訊記錄到指定的日誌檔案裡,供**管理員分析使用者瀏覽行為等,此功能又ngx_http_log_module 模組負責。

控制訪問日誌的引數引數

說明log_format

通過不同的名稱來定義日誌的輸出格式,可以定義多個

access_log

用來指定日誌儲存的路徑和使用的輸出格式

記錄nginx處理的請求的過程,包含請求型別、時間、客戶端資訊、處理結果、處理時長等資訊,具體可以通過log_format指令引用特定變數來記錄相關資訊。

記錄nginx程序啟動、停止、重啟及處理請求過程中發生的錯誤資訊。

記錄rewrite規則工作的過程,可以用於除錯rewrite規則。

nginx中可以記錄的日誌主要有access日誌、error日誌和rewrite日誌。前兩種由ngx_http_log_module模組予以支援,rewrite日誌則由ngx_http_rewrite_module模組提供,這兩個模組預設都已包含且啟用。

# 定義乙個日誌的輸出格式

# 指定日誌的報錯位置和指定日誌的輸出格式為上面定義的格式(main為上面定義的日誌標籤)

access_log logs/access.log main;

log_format [name [string];

name表示格式名稱,string表示等義的格式。log_format有乙個預設的無需設定的combined日誌格式,相當於apache的combined日誌格式。

log_format格式變數:

$http_referer # 記錄此次請求是從哪個連線訪問過來的,可以根據該引數進行防盜煉設定。

$http_user_agent # 記錄客戶端訪問資訊,例如:瀏覽器、手機客戶端等

$remote_addr # 記錄客戶端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 # 通用日誌格式下的本地時間。

access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];

作用域 : http, server, location, if in location, limit_except

其他引數說明

access_log off; #關閉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 # 為存放訪問日誌的緩衝區大小

flush=time # 為緩衝區的日誌刷到磁碟的時間

zip[=level] # 表示壓縮級別

[if = condition] # 表示其他條件

語法格式: 

open_log_file_cache max=n [inactive=time] [min_uses=n] [valid=time];

使用open_log_file_cache來設定日誌檔案快取(預設是off)。

預設值: open_log_file_cache off;

作用於: http, server, location

對於每一條日誌記錄,都將是先開啟檔案,再寫入日誌,然後關閉。可以使用open_log_file_cache來設定日誌檔案快取(預設是off),格式如下:

引數注釋如下:

max # 設定快取中的最大檔案描述符數量,如果快取被佔滿,採用lru演算法將描述符關閉。

inactive # 設定存活時間,預設是10s

min_uses # 設定在inactive時間段內,日誌檔案最少使用多少次後,該日誌檔案描述符記入快取中,預設是1次

valid # 設定檢查頻率,預設60s

off # 禁用快取

Nginx日誌配置

一,日誌格式 http referer http user agent 此日誌格式為,ip不僅記錄 的ip還記錄遠端客戶端真實ip。remote addr與 http x forwarded for 用以記錄客戶端ip位址,乙個記錄 ip,乙個記錄真實ip remote user 用以記錄客戶端使用...

nginx日誌配置

1.配置錯誤日誌 error log nginx 將遇到的不同嚴重級別問題的資訊寫入錯誤日誌。error log 指令設定對特定檔案,stderr 或 syslog 的日誌記錄,並指定要記錄的訊息的最低嚴重級別。預設情況下,錯誤日誌位於 logs error.log 絕對路徑取決於作業系統和安裝 並...

Nginx配置日誌

nginx配置日誌 通過錯誤日誌,你可以得到系統某個服務或server的效能瓶頸等 日誌生成的到根目錄logs access.log檔案,預設使用 main 日誌格式,也可以自定義格式 預設 main 日誌格式 remote addr 客戶端的ip位址 伺服器,顯示 服務ip remote user...