nginx日誌文件的配置

文章來源

運維公會: nginx日誌文件的配置

1、日誌介紹

nginx有兩種日誌,一種是訪問日誌,一種是錯誤日誌。

訪問日誌中記錄的是客戶端對服務器的所有請求。

錯誤日誌中記錄的是在訪問過程中,因爲某些原因發生的錯誤信息。

 

2、訪問日誌和錯誤日誌

(1)錯誤日誌

error_log path level

錯誤日誌的格式是沒有辦法定義的。需要寫清楚錯誤日誌的存放路徑,相對路徑或者絕對路徑都可以。

第二個參數是日誌的級別。一般的級別有debug|info|notice|warm|error|crit|alert|emerg。一般就配置爲error。

一般就是在main,http,server,location;模塊中配置

在啓動nginx的時候,日誌的目錄路徑是不會自動創建,需要創建好所有的目錄,這樣nginx才能夠成功啓動,否則會報找不到目錄路徑,而日誌文件本身是nginx自動創建。

當訪問網頁報500錯誤的時候,就可以在這個日誌下找找原因,是不是哪個文件沒有權限,或者丟失等等。

所以在測試環境或者生產環境配置這個文件都是非常有必要的。

 

(2)訪問日誌

log_format name format

上邊是配置訪問日誌的格式,這個的作用就是配置在實際中需要統計的字段,並不是一定將所有的字段都要統計出來。

name字段自己定義即可,mainlog、mylog,都可以,但是多個name不能重複。

format就是日誌的格式,只要將自己需要的字段寫上即可。

下邊是字段的類型,選擇需要的填寫即可。

參數

說明

$remote_addr

客戶端地址

$remote_user

客戶端用戶名稱

$time_local

訪問時間和時區

$request

請求的URI和HTTP協議

$http_host

請求地址

$status

HTTP請求狀態

$upstream_status

upstream狀態

$body_bytes_sent

發送給客戶端文件內容大小

$http_referer

url跳轉來源

$http_user_agent

瀏覽器的信息

$ssl_protocol

SSL協議版本

$ssl_cipher

交換數據中的算法

$upstream_addr

後臺upstream的地址,即真正提供服務的主機地址

$request_time

整個請求的總時間

$upstream_response_time

請求過程中,upstream響應時間

示例:

格式

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

               '$status $body_bytes_sent "$http_referer" '

               '"$http_user_agent" "$http_x_forwarded_for"';

某一條訪問

192.168.0.137 - - [02/Apr/2019:11:52:46 +0800] "GET /admin/index.php?act=common&op=pending_matters HTTP/1.1" 200 401 "http://192.168.0.133/admin/index.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" "-"

 

access_log path format [buffer=sieze]

訪問日誌也不是一定需要開的。根據自己的實際情況配置。

path就是路徑,寫相對路徑或者絕對路徑皆可。

format是上邊配置的訪問日誌的格式,只需要將format的name寫上即可。

buffer寫不寫都行。如果需要配置寫buffer=16k即可。

在啓動nginx的時候,日誌的目錄路徑是不會自動創建,需要創建好所有的目錄,這樣nginx才能夠成功啓動,否則會報找不到目錄路徑,而日誌文件本身是nginx自動創建。

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章