在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...