nginx入門2 日誌配置詳解

2021-09-10 03:44:40 字數 1735 閱讀 3809

在nginx的安裝目錄下面有乙個logs,裡存放的是nginx的一些日誌檔案。這些日誌檔案會在nginx每次重啟都會根據配置檔案檢查這些日誌檔案是否存在,如果不存在會自動生成。

不同的虛擬主機可以有不同的日誌配置

如果要使用日誌記錄的話需要在配置檔案中做一些配置:

error_log logs/error.log; 錯誤日誌的存放目錄,及檔名稱。

error_log logs/error.log notice; 日誌等級

error_log logs/error.log info;

配置http請求的訪問日誌:

日誌格式設定(可自己定義日誌格式):

$remote_addr與​$http_x_forwarded_for用以記錄客戶端的ip位址;

$remote_user:用來記錄客戶端使用者名稱;

$time_local: 用來記錄訪問時間與時區;

$request: 用來記錄請求的url與http協議;

$status: 用來記錄請求狀態;成功是200,

$body_bytes_sent :記錄傳送給客戶端檔案主體內容大小;通常web伺服器放在反向**的後面,這樣就不能獲取到客戶的ip位址了,通過​$remote_add拿到的ip位址是反向**伺服器的ip位址。反向**伺服器在**請求的http頭資訊中,可以增加x_forwarded_for資訊,用以記錄原有客戶端的ip位址和原來客戶端的請求的伺服器位址。

access_log logs/host.access.log main; #格式是 access_log 路徑及檔名 日誌儲存格式!

access_log logs/host.access.404.log log404;

用了log_format指令設定了日誌格式之後,需要用access_log指令指定日誌檔案的存放路徑;

#!/bin/sh

base_dir=/usr/local/nginx

base_file_name=access.log

current_path=$base_dir/logs

bak_path=$base_dir/datalogs

current_file=$current_path/$base_file_name

bak_time=`/bin/date -d yesterday +%y%m%d%h%m`

bak_file=$bak_path/$bak_time-$base_file_name

echo $bak_file

$base_dir/sbin/nginx -s stop

mv $current_file $bak_file

$base_dir/sbin/nginx

然後使用crontab -e 命令輸入*/1 * * * * sh /usr/local/nginx/sbin/log.sh

上面那條命令的作用是每隔一分鐘執行一次備份。

nginx教程2 日誌

主要有兩種 access log 訪問日誌 和 error log 錯誤日誌 access log 訪問日誌 access log 主要記錄客戶端訪問 nginx 的每乙個請求,格式可以自定義。通過 access log 你可以得到使用者 地域 跳轉 使用終端 某個 url 訪問量 等相關資訊。lo...

nginx的高階配置(3) 日誌管理

設定日誌格式 在nginx.conf配置檔案裡新增 此日誌格式為ip不僅記錄 的ip還記錄遠端客戶端的真實ip。然後在虛擬主機的配置檔案裡新增 1 access log tmp access.log xy 上述的xy是自己取得名字。2.指定日誌的不記錄內容 重新整理下nginx 的頁面,在cat t...

Nginx初學(三)日誌的配置

1 進入到nginx的日誌目錄,我們可以看到下圖的三個檔案 其中nginx.pid中存放的是程序號,access.log是訪問日誌,error是錯誤日誌。2 我們開啟配置檔案,可以設定自己的日誌檔案。如下,配置好後儲存,重啟nginx。server access log logs wuaipic.l...