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自動創建。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM