日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

nginx日志格式分析以及修改詳解_nginx

作者:?梅梅? ? 更新時間: 2022-06-23 編程語言

修改nginx日志打印格式

一. 打開終端,登錄服務器并輸入服務器密碼

//ssh 用戶名@服務器ip
ssh root@192.168.0.132

二. 切換到nginx目錄

cd /var/log/nginx/

三. 查看nginx日志

tail -f access.log

日志說明:

//默認的nginx標準日志格式
192.168.10.251 - - [24/Apr/2022:15:07:52 +0800] "POST /web-api/api/tableTemp/getAllDataCount HTTP/1.1"  200 173 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" "127.0.0.1"
//默認的nginx標準日志格式說明
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
  • $remote_addr 客戶端IP地址
  • $remote_user 客戶端用戶名稱,一般為空
  • [$time_local] 訪問時間
  • “$request” 記錄請求HTTP的方式以及URL
  • $status 狀態碼
  • $body_bytes_sent 發送給客戶端的文件大小
  • “$http_referer” 記錄從哪個頁面訪問過來的
  • “$http_user_agent” 記錄客戶端相關信息

可以看到,默認的nginx標準日志是不包括接口響應時間的,如果想要看nginx接口響應時間,需要修改nginx配置

四. 修改nginx日志格式

在終端查看nginx狀態及nginx配置文件位置

nginx -t

打開nginx配置文件

vi /etc/nginx/nginx.conf

編輯nginx配置文件

//進入編輯狀態
i

添加" r e q u e s t t i m e " , request_time", requestt?ime",request_time 單位秒,處理完請求需要花的時間

輸入完成之后按esc鍵退出編輯模式,在終端輸入:wq保存并退出

:wq

重啟nginx使nginx配置生效

nginx -s reload

重啟之后再進去nginx目錄下查看日志就帶時間啦

五. 其他日志參數說明

$http_x_forwarded_for  #客戶端的真實ip通常web服務器放在反向代理的后面這樣就不能獲取到客戶的IP地址了通過$remote_add拿到的IP地址是反向代理服務器的iP地址。反向代理服務器在轉發請求的http頭信息中可以增加x_forwarded_for信息用以記錄原有客戶端的IP地址和原來客戶端的請求的服務器地址。$remote_addr   # 遠程客戶端的IP地址
$remote_user  #遠程客戶端用戶名稱用于記錄瀏覽者進行身份驗證時提供的名字如果沒有登錄就是空白。
$time_local  #訪問的時間與時區比如18/Jul/2012:17:00:01 +0800時間信息最后的"+0800"表示服務器所處時區位于UTC之后的8小時。
$request_method #HTTP請求方法,通常為"GET"或"POST"
$scheme #請求使用的Web協議,"http" 或 "https"
$host #HTTP請求行的主機名>"HOST"請求頭字段>符合請求的服務器名.請求中的主機頭字段,如果請求中的主機頭不可用,則為服務器處理請求的服務器名稱
$request_uri #這個變量等于包含一些客戶端請求參數的原始URI,它無法修改,請查看$uri更改或重寫
$uri  #請求中的當前URI(不帶請求參數,參數位于$args),可以不同于瀏覽器傳遞的$request_uri的值,它可以通過內部重定向,或者使用index指令進行修改,$uri不包含主機名,如"/foo/bar.html"
$query_string #請求中的參數值
$server_protocol #服務器的HTTP版本,通常為 "HTTP/1.0" 或 "HTTP/1.1"
$status #HTTP響應代碼
$body_bytes_sent #傳輸給客戶端的字節數,響應頭不計算在內;這個變量和Apache的mod_log_config模塊中的"%B"參數保持兼容
$http_referer #url跳轉來源,用來記錄從那個頁面鏈接訪問過來的
$http_user_agent #用戶終端瀏覽器等信息
$request_time #處理客戶端請求使用的時間,單位為秒,精度毫秒; 從讀入客戶端的第一個字節開始,直到把最后一個字符發送給客戶端后進行日志寫入為止。
$upstream_addr #真正提供服務的主機地址
$request_id  #生產唯一ID方便查詢問題
$upstream_response_time #請求過程中upstream的響應時間

總結

原文鏈接:https://blog.csdn.net/meimeib/article/details/124383459

相關推薦

欄目分類
最近更新