溫馨提示×

nginx日志格式解讀指南

小樊
62
2025-03-09 08:02:31
欄目: 編程語言

Nginx的日志格式可以通過配置文件 log_format 定義,并且可以通過 access_log 指令來指定日志文件的存放路徑、格式和緩存大小。以下是Nginx日志格式的詳細解讀:

默認日志格式

log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
  • $remote_addr:記錄客戶端IP地址。
  • $remote_user:記錄客戶端用戶名稱,如果網站未加密則顯示“-”。
  • $time_local:記錄訪問時間和時區,如 18/Jul/2012:17:00:01 +0800。
  • $request:記錄客戶端請求的URL和HTTP協議,如 "GET /index.html HTTP/1.1"。
  • $status:記錄HTTP請求狀態碼,如 200。
  • $body_bytes_sent:記錄發送給客戶端的字節數,不包括響應頭的大小。
  • $http_referer:記錄請求來源頁面。
  • $http_user_agent:記錄客戶端瀏覽器信息。
  • $http_x_forwarded_for:記錄客戶端的真實IP地址,通常在反向代理時使用。

自定義日志格式示例

log_format custom '$server_name $remote_addr - $remote_user [$time_local] "$request" ' '$status $upstream_status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for" ''$ssl_protocol $ssl_cipher $upstream_addr $request_time $upstream_response_time';
  • $server_name:虛擬主機名稱。
  • $ssl_protocol:SSL協議版本。
  • $ssl_cipher:交換數據中的算法。

日志配置示例

http {
    log_format custom;
    access_log /var/log/nginx/access.log custom;
}

日志切割

Nginx 日志可以通過 logrotate 進行切割,配置文件通常位于 /etc/logrotate.d/ 目錄下。

希望以上信息能幫助您更好地理解和分析Nginx日志。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女