nginx日誌檔案的配置
nginx的日誌檔案,預設在nginx程式安裝目錄的logs二級目錄下。
與nginx日誌相關的指令有兩條
log_format,用來設定日誌的記錄格式。
access_log,用來指定日誌檔案的存放路徑、格式和快取大小。
這兩條指令在nginx配置檔案中,可以在http之間,也可以在虛擬主機之間,即server之間。
log_format指令
用來設定日誌檔案的記錄格式,語法如下
log_format name format[format ……]
其中,name表示定義的格式名稱,format,表示定義的格式樣式。
log_format有乙個預設的、無須設定的combined日誌格式設定,相當於apache的combined日誌格式,如下
也可以自定義日誌的記錄格式,注意,log_format指令設定的name名稱,在nginx配置檔案中,是不能重複的。
如果,將nginx伺服器作為web伺服器,唯一負載均衡裝置、squid、nginx反向**之後,就不能獲取到客戶端的真實ip位址了。
原因,經過反向**之後,由於在客戶端和web伺服器之間,增加了中間層,因此,web伺服器無法直接拿到客戶端的ip,通過$remote_addr變數拿到的是反向**伺服器的ip位址。
但是,反向**伺服器在**請求的http頭資訊中,可以增加x-forwarded-for資訊,用以記錄原有的客戶端ip位址和原有客戶端請求的伺服器位址。
此時,需要用log_format指令來設定日誌格式,讓日誌記錄x-forwarded-for資訊中的ip位址,即客戶的真實ip。
比如,建立乙個名為mylogformat的日誌格式,再用$http_x_forwarded_for變數記錄使用者的x_forwarded-for ip位址。
引數說明
$remote_addr——用來記錄ip位址
$http_x_forwarded_for——用來記錄ip位址
$remote_user——用來記錄遠端客戶端使用者名稱
$time_local——用來記錄訪問時間與時區
$request——用來記錄請求url與http協議
$status——用來記錄請求狀態,比如,成功時狀態為200,頁面找到時狀態為404等
$body_bytes_sent——用來記錄傳送給客戶端的檔案主體內容大小
$http_referer——用來記錄是從哪個頁面鏈結訪問過來的
$http_user_agent——用來記錄客戶端瀏覽器的相關資訊
access_log指令
指定日誌檔案存放路徑,語法如下
access_log path [format[buffer=size | off]]
引數說明
path——表示日誌檔案的存放路徑。
format——表示使用log_format指令設定的日誌格式的名稱。
buffer=size——表示設定記憶體緩衝區的大小,比如,可以設定buffer=32k。
如果不記錄日誌,可以使用如下指令關閉日誌記錄
access_log off;
nginx的日誌檔案配置
log format 設定日誌格式 access log 指定日誌檔案存放路徑 2 log foramt 2.1 指令引數 3.1 指令引數 access log path format buffer size off path表示日誌檔案存放路徑,format表示日誌格式名稱,buffer表示記憶...
nginx日誌檔案的配置
1 日誌介紹 nginx有兩種日誌,一種是訪問日誌,一種是錯誤日誌。訪問日誌中記錄的是客戶端對伺服器的所有請求。錯誤日誌中記錄的是在訪問過程中,因為某些原因發生的錯誤資訊。2 訪問日誌和錯誤日誌 1 錯誤日誌 error log path level 錯誤日誌的格式是沒有辦法定義的。需要寫清楚錯誤日...
nginx開啟日誌和配置日誌檔案路徑
error log 可以指定任意存放日誌的目錄 錯誤日誌級別,常見的錯誤日誌級別有 debug info notice warn error crit alert emerg 級別越高記錄的資訊越少。生產場景一般是 warn error crit 這三個級別之一 關閉error log的方法 err...