Nginx-日誌

日誌類型

error.log

nginx 錯誤日誌
```
error_log  logs/error.log;
error_log  logs/error.log  notice;  //前面是路徑,後面是錯誤級別
error_log  logs/error.log  info;
            
```
複製代碼

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 客戶端地址
                 // $remote_user 客戶端請求的用戶名,沒有開啓認證模塊,不會被記錄
                 // $time_local 時間
                 // $request 請求頭信息
                 // $status 返回狀態
                 // $body_bytes_sent 響應的 body 的大小
                 // $http_referer 上一級訪問的地址,不是客戶端上一次訪問的頁面地址
                 // $http_user_agent 訪問的客戶端類型(瀏覽器,curl,等)
                 // $http_x_forwarded_for 每一級請求中的 http 信息

access_log  logs/access.log  main;  

// logs/access.log 是路徑,
// main是格式名字,和上面 log_format 中定義的變量名要對應。

```
複製代碼

log_format

Syntax: log_format name [escape=default|json] string ...;  
// log_format 是關鍵字。
// name 格式的名字,能夠自定義,相似於變量名。
// $xxx  這是 log_format 的變量。

Default: log_format combined "...";

Context: http
// 只能配置在 http 模塊下
複製代碼

能夠放在 log_format 中的變量

第一種:HTTP 請求變量

arg_PARAMETERhttp_HEADERsent_http_HEADERhtml

例如,想要記錄 http 頭部信息中的 User-Agent 信息。須要這麼配置nginx

log_format  main  '$http_user_agent';
複製代碼

注意,前面要有 $ 符號,全部字母小寫,有中劃線要換成下劃線。json

第二種:Nginx 內置變量

Nginx 支持的變量太多,能夠訪問官網查看。瀏覽器

第三種:本身定義的變量
相關文章
相關標籤/搜索