1. 程式人生 > >Nginx訪問日誌 Nginx日誌切割 靜態文件不記錄日誌和過期時間

Nginx訪問日誌 Nginx日誌切割 靜態文件不記錄日誌和過期時間

nginx訪問日誌 日誌切割

一、Nginx訪問日誌
技術分享圖片
#vim /usr/local/nginx/conf/nginx.conf
日誌格式的名字combined_realip可以自定義,例如將它修改為aming,註意,這裏定義為什麽,後面引用的時候就定義為什麽(nginx配置文件看見分號才是這一行結束)
技術分享圖片
技術分享圖片
#vim /usr/local/nginx/conf/vhost/test.com.conf //增加如下一行
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl -x127.0.0.1:80 test4.com/admin/index.html/kdfgfdlk -I //訪問報404代碼
#curl -x127.0.0.1:80 test3.com/admin/index.html/kdfgfdlk -I //訪問報301代碼
#curl -x127.0.0.1:80 test2.com/admin/index.html/kdfgfdlk -I //訪問報301代碼
#cat /tmp/test.com.log //查看下日誌文件
二、Nginx日誌切割
技術分享圖片
#vim /usr/local/sbin/nginx_log_rotate.sh //自定義腳本nginx_log_rotate.sh
糾正下:將下圖的logdir目錄修改為 logdir="/tmp/"
技術分享圖片
#sh -x /usr/local/sbin/nginx_log_rotate.sh //執行腳本,加-x是為了查看腳本執行過程,如下圖
技術分享圖片
#ls /tmp/ //可以查看下/tmp/目錄下是否已經生成前一天的日誌文件和當天的日誌
#find /tmp/ -name .log- -type f -mtime +30 |xargs rm //刪除30天以前的日誌文件
#cat /usr/local/sbin/nginx_log_rotate.sh //日誌切割腳本
#! /bin/bash
d=date -d "-1 day" +%Y%m%d
logdir="/tmp/"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in ls *.log
do
mv $log $log-$d
done
/bin/kill -HUP cat $nginx_pid
寫完腳本之後還需要創建任務計劃:
#crontab -e //創建任務計劃,寫入如下內容:
0 0 * /bin/bash /usr/local/sbin/nginx_log_rotate.sh //每天淩晨0點執行這個腳本
三、靜態文件不記錄日誌和過期時間
技術分享圖片
#vim /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
配置完成之後進行驗證測試:
#cd /data/wwwroot/test.com/
#vim 1.gif //裏面隨便寫一些內容做測試
#vim 2.js //裏面隨便寫一些內容做測試
#curl -x127.0.0.1:80 test.com/1.gif
#curl -x127.0.0.1:80 test.com/2.js
#curl -x127.0.0.1:80 test.com/index.html
#cat /tmp/test.com.log //查看日誌,可以看到日誌沒有記錄訪問1.gif和2.js的訪問日誌
#curl -x127.0.0.1:80 -I test.com/2.js //-I看下過期時間
技術分享圖片

Nginx訪問日誌 Nginx日誌切割 靜態文件不記錄日誌和過期時間