網站首頁 編程語言 正文
修改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
相關推薦
- 2022-07-13 conda 常用命令
- 2022-12-09 Android入門之ProgressBar的使用教程_Android
- 2024-02-26 IDEA隱藏指定文件/文件夾
- 2022-05-24 python使用torch隨機初始化參數_python
- 2022-09-06 詳解pygame中Rect對象_python
- 2022-09-09 Python如何生成指定區間中的隨機數_python
- 2023-04-12 python中list.copy方法用法詳解_python
- 2022-08-03 python基礎之//、/與%的區別詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支