Nginx配置訪問日誌

2021-09-20 18:41:15 字數 2401 閱讀 5948

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

access日誌

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

error日誌

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

rewrite日誌

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

log_format的預設值:

access_log的預設值:

#access_log  logs/access.log  main;
log_format語法格式及引數語法說明如下:

log_format    ;

關鍵字 格式標籤 日誌格式

關鍵字:其中關鍵字error_log不能改變

格式標籤:格式標籤是給一套日誌格式設定乙個獨特的名字

日誌格式:給日誌設定格式

log_format格式變數:

$remote_user #遠端客戶端使用者名稱

$time_local #記錄訪問時間與時區

$request #使用者的http請求起始行資訊

$status #http狀態碼,記錄請求返回的狀態碼,例如:200、301、404等

$body_bytes_sent #伺服器傳送給客戶端的響應body位元組數

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

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

access_log語法格式及引數語法說明如下:

access_log    ;

關鍵字 日誌檔案 格式標籤

關鍵字:其中關鍵字error_log不能改變

日誌檔案:可以指定任意存放日誌的目錄

格式標籤:給日誌檔案套用指定的日誌格式

其他語法:

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 #為緩衝區的日誌刷到磁碟的時間

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

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

一般場景這些引數都無需配置,極端優化才有可能會考慮這些引數。

log_format引數的標籤段位置:

access_log引數的標籤段位置:

(1)建立log_format語句

(2)插入access_log語句

(3)重啟服務

Nginx 訪問日誌配置

nginx 軟體會把每個使用者訪問 的日誌資訊記錄到指定的日誌檔案裡,供 提供者分析使用者的瀏覽行為等,此功能由 ngx http log module 模組負責。語法 access log path format buffer size access log off 預設值 access log ...

Nginx訪問日誌

日誌對於統計排錯來說非常有利的。nginx的log日誌分為access log 和 error log.nginx。其中access log 記錄了哪些使用者,哪些頁面以及使用者瀏覽器 ip和其他的訪問資訊。error log 則是記錄伺服器錯誤日誌。日誌相關的配置有 access log erro...

nginx訪問日誌獲取post引數配置

環境 ubuntu14 nginx 1.12.1 生產環境中的某些api出現故障,但是問題無法重現,但是又很想解決掉問題以及我們新專案上線,需要跟蹤請求與響應的資訊,可以預先找到一些bug,減少大面積的損失。查詢的一堆文件,寫的都很好,就是都不行。蛋疼。自己寫乙個實現的,真是無法形容的。配置方式 在...