1.打開配置文件,搜索log_formatcss
vim /usr/local/nginx/conf/nginx.conf
2.訪問日誌經常使用變量含義html
3.此處咱們將原來的規則名稱combined_realip修改成yolks_realip而且進行保存nginx
4.修改虛擬主機配置文件shell
vim /usr/local/nginx/conf/vhost/test.com.conf
2)添加以下代碼vim
access_log /tmp/1.log yolks_realip; #後面此名稱表明主配置文件的日誌規則名稱,此處不指定則使用默認的日誌規則,顯示內容比較簡單
5.檢查配置文件並從新加載bash
/usr/local/nginx/sbin/nginx -t #檢查 /usr/local/nginx/sbin/nginx -s reload #重啓
6.curl測試服務器
[root@yolks2 ~]# curl -x127.0.0.1:80 test2.com/admin/admin.html -I HTTP/1.1 301 Moved Permanently Server: nginx/1.6.3 Date: Tue, 14 Aug 2018 14:45:04 GMT Content-Type: text/html Content-Length: 184 Connection: keep-alive Location: http://test.com/admin/admin.html
7.查看錯誤日誌格式curl
[root@yolks2 ~]# cat /tmp/test.com.log 127.0.0.1 - [14/Aug/2018:22:45:04 +0800] test2.com "/admin/admin.html" 301 "-" "curl/7.29.0"
日誌切割腳本實現,即shell實現測試
1.編輯文件 /usr/local/sbin/nginx_log_rotate.sh,添加以下代碼url
## 假設nginx的日誌存放路徑爲/data/logs/ d=`date -d "-1 day" +%Y%m%d` #生成昨天的日期:例如20180813 logdir="/tmp/" #定義日誌目錄 nginx_pid="/usr/local/nginx/logs/nginx.pid" #pid號 cd $logdir #進入目錄 for log in `ls *.log` #循環ls出來的log do mv $log $log-$d #修更名稱 done /bin/kill -HUP `cat $nginx_pid` #殺掉進程重啓,可以使用 /usr/local/nginx/sbin/nginx -s reload 替換
2.執行腳本命令 : sh
執行命令
[root@yolks2 ~]# sh -x /usr/local/sbin/nginx_log_rotate.sh
執行過程
++ date -d '-1 day' +%Y%m%d + d=20180813 + logdir=/tmp/ + nginx_pid=/usr/local/nginx/logs/nginx.pid + cd /tmp/ ++ ls test.com.log + for log in '`ls *.log`' + mv test.com.log test.com.log-20180813 ++ cat /usr/local/nginx/logs/nginx.pid + /bin/kill -HUP 885
3.查看/tmp/目錄下test*的文件
[root@yolks2 ~]# ls /tmp/ |grep test* test.com.log test.com.log-20180813
4.定時清理舊日誌
find /tmp/ -name *.log-* -type f -mtime +30 |xargs rm #刪除30天之前的日誌文件
5.添加定時任務計劃
1)編輯定時任務文件
crontab -e
2)計劃任務代碼以下
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh #天天0點執行
1.編輯配置文件**/usr/local/nginx/conf/vhost/test.com.conf**添加以下代碼:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #匹配靜態文件後綴,.gif|.jpg|.jpeg|.png|.bmp|.swf { expires 7d; #過時時間 access_log off; #訪問日誌開關 } location ~ .*\.(js|css)$ #匹配.js和.css文件 { expires 12h; #過時時間 access_log off; #訪問日誌開關 }
2.編寫測試文件,好比圖片
[root@yolks2 ~]# touch /data/wwwroot/test.com/test.jpg [root@yolks2 ~]# ls /data/wwwroot/test.com/ admin index.html test.jpg
3.測試
curl -x127.0.0.1:80 test.com/test.jpg -I
查看日誌: