Nginx訪問日誌能夠設置自定義的格式,來知足特定的需求。php
示例:後端
示例1 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; 示例2 log_format main '$remote_addr [$time_local] ' '$host "$request_uri" $status "$request"' '"$http_referer" "$http_user_agent" "$request_time"'; 若不配置log_format或者不在access_log配置中指定log_format,則默認格式爲: '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent";
常見變量:瀏覽器
變量 | 說明 |
---|---|
$time_local | 通用日誌格式下的本地時間;(服務器時間) |
$remote_addr | 客戶端(用戶)IP地址 |
$status | 請求狀態碼,如200,404,301,302等 |
$body_bytes_sent | 發送給客戶端的字節數,不包括響應頭的大小 |
$bytes_sent | 發送給客戶端的總字節數 |
$request_length | 請求的長度(包括請求行,請求頭和請求正文) |
$request_time | 請求處理時間,單位爲秒,小數的形式 |
$upstream_addr | 集羣輪詢地址 |
$upstream_response_time | 指從Nginx向後端(php-cgi)創建鏈接開始到接受完數據而後關閉鏈接爲止的時間 |
$remote_user | 用來記錄客戶端用戶名稱 |
$request | 請求方式(GET或者POST等)+URL(包含$request_method,$host,$request_uri) |
$http_user_agent | 用戶瀏覽器標識 |
$http_host | 請求的url地址(目標url地址)的host |
$host | 等同於$http_host |
$http_referer | 來源頁面,即從哪一個頁面轉到本頁,若是直接在瀏覽器輸入網址來訪問,則referer爲空 |
$uri | 請求中的當前URI(不帶請求參數,參數位於$args),不一樣於瀏覽器傳遞的$request_uri的值,它能夠經過內部重定向,或者使用index指令進行修改。 |
$document_uri | 等同於$uri |
$request_uri | 比$uri多了參數,即$uri+$args |
$http_x_forwarded_for | 若是使用了代理,這個參數會記錄代理服務器的ip和客戶端的ip |