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,減少大面積的損失。查詢的一堆文件,寫的都很好,就是都不行。蛋疼。自己寫乙個實現的,真是無法形容的。配置方式 在...