nginx教程2 日誌

2021-09-07 12:42:28 字數 2376 閱讀 8226

主要有兩種:access_log(訪問日誌) 和 error_log(錯誤日誌)。

access_log 訪問日誌

access_log 主要記錄客戶端訪問 nginx 的每乙個請求,格式可以自定義。通過 access_log 你可以得到使用者

地域**、

跳轉**、使用終端、

某個 url 訪問量

等相關資訊。

log_format 指令用於定義日誌的格式,語法: 

log_format name string;

其中 name 表示格式名稱,string 表示定義的格式字串。log_format 有乙個

預設的無需設定的組合日誌格式。

access_log 指令用來指定訪問日誌檔案的存放路徑(包含日誌檔名)、格式和快取大小,語法:

access_log path [format_name [buffer=size | off]];

其中 path 表示訪問日誌存放路徑,format_name 表示訪問日誌格式名稱,buffer 表示快取大小,

off 表示關閉訪問日誌。

log_format 使用示例:在 access.log 中記錄客戶端 ip 位址、請求狀態和請求時間

log_format

myformat

'$remote_addr

$status

$time_local';

access_log

logs/access.log myformat;

需要注意的是:

log_format 配置必須放在 http 內,否則會出現警告。

nginx 程序設定的使用者和組必須對日誌路徑有建立檔案的許可權,否則,會報錯。

定義日誌使用的字段及其作用:

字段作用

$remote_addr與$http_x_forwarded_for

記錄客戶端ip位址

$remote_user

記錄客戶端使用者名稱

$request

記錄請求的uri和http協議

$status

記錄請求狀態

$body_bytes_sent

傳送給客戶端的位元組數,不包括響應頭的大小

$bytes_sent

傳送給客戶端的總位元組數

$connection

連線的序列號

$connection_requests

當前通過乙個連線獲得的請求數量

$msec

日誌寫入時間。單位為秒,精度是毫秒

$pipe

如果請求是通過http流水線(pipelined)傳送,pipe值為「p」,否則為「.」

記錄從哪個頁面鏈結訪問過來的

記錄客戶端瀏覽器相關資訊

$request_length

請求的長度(包括請求行,請求頭和請求正文)

$request_time

請求處理時間,單位為秒,精度毫秒

$time_iso8601

iso8601標準格式下的本地時間

$time_local

記錄訪問時間與時區

error_log 錯誤日誌

error_log 主要記錄客戶端訪問 nginx 出錯時的日誌,格式

不支援自定義

。通過檢視錯誤日誌,你可以得到系統某個服務或 server 的效能瓶頸等。因此,將日誌利用好,你可以得到很多有價值的資訊。

error_log 指令用來指定錯誤日誌,語法: 

error_log path [level]

; 其中 path 表示錯誤日誌存放路徑,level 表示錯誤日誌等級,

日誌等級包括

debug、info、notice、warn、error、crit、alert、emerg,從左至右,日誌詳細程度逐級遞減,即 debug 最詳細,emerg 最少,

預設為 error。

注意:error_log off

並不能關閉錯誤日誌記錄,此時日誌資訊會被寫入到檔名為 off 的檔案當中。如果要關閉錯誤日誌記錄,可以使用如下配置:

linux 系統把儲存位置設定為空裝置

nginx入門2 日誌配置詳解

在nginx的安裝目錄下面有乙個logs,裡存放的是nginx的一些日誌檔案。這些日誌檔案會在nginx每次重啟都會根據配置檔案檢查這些日誌檔案是否存在,如果不存在會自動生成。不同的虛擬主機可以有不同的日誌配置 如果要使用日誌記錄的話需要在配置檔案中做一些配置 error log logs erro...

nginx1 14 0日誌列印

nginx日誌列印 http屬性log format來設定日誌格式 參考 nginx日誌配置指令詳解 log format myformat remote addr remote user time local request status body bytes sent http referer ...

Nginx服務優化(四)日誌分割

隨著nginx執行時間增加,日誌也會增加。為了方便掌握nginx執行狀態,需要時刻關注nginx日誌檔案,太大的日誌檔案對監控是乙個大災難,所以需要定期進行日誌檔案的切割。nginx自身不具備日誌分割處理的功能,但可以通過nginx訊號控制功能的指令碼實現日誌的自動切割,並通過linux的計畫任務周...