Nginx服務器log_format設置更詳細的日誌格式

nginx服務器日誌相關指令主要有兩條,一條是log_format,用來設置日誌格式,另外一條是access_log,用來指定日誌文件的存放路徑、格式和緩存大小,一般在nginx的配置文件中日記配置(/usr/local/nginx/conf/nginx.conf)。

nginx的log_format有很多可選的參數用於指示服務器的活動狀態,默認的是:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

想要記錄更詳細的信息需要自己設置log_format,具體可設置的參數格式及說明如下:

參數 參數 示例
$remote_addr 客戶端地址 211.28.65.253
$remote_user 客戶端用戶名稱
$time_local 訪問時間和時區 [25/May/2018:11:33:56 +0800]
$request 請求的URI和HTTP協議 “GET /resource/api HTTP/1.1”
$http_host 請求地址,即瀏覽器中你輸入的地址(IP或域名) blog.51cto.com/kexiaoke
$status HTTP請求狀態 200
$upstream_status upstream狀態 200
$body_bytes_sent 發送給客戶端文件內容大小 1547
$http_referer url url跳轉來源 https://blog.51cto.com/kexiaoke
$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協議版本 TLSv1
$ssl_cipher 交換數據中的算法 RC4-SHA
$upstream_addr 後臺upstream的地址,即真正提供服務的主機地址 10.10.10.100:8080
$request_time 整個請求的總時間 0.205
$upstream_response_time 請求過程中,upstream響應時間 0.205

$upstream_addr 這個比較常用,但是不在默認配置裏面,用來記錄轉發到那個真是的後端服務器。

如果想要日誌的輸出格式生效 在你的站點下面的access_log 屁股後面跟個 main 
access_log /data/log/nginx/online/access.log main;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章