vim /usr/local/nginx/conf/nginx.conf //搜索log_format = 配置文件裏面能夠查找到日誌格式nginx
定義日誌是須要在虛擬主機裏面去定義的,nginx裏面若是修改了日誌格式的名字那麼在虛擬主機中定義日誌文件須要引用nginx配置文件裏面的名字。vim
vim /usr/local/nginx/conf/vhost/test.com.log =定義虛擬主機日式文件bash
定義完之後 -t && -s reload curl
[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -t = 檢測配置文件語法是否錯誤 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -s reload = 從新加載配置文件
測試配置:狀態碼爲200說明ok工具
cat /tmp/test.com.log = 查看日誌裏面的信息測試
nginx日誌切割須要使用到系統自帶的工具,或者寫一個切割的腳本url
vim /usr/local/sbin/nginx_log_rotate.sh//寫入以下內容 = 配置nginx須要的日誌切割腳本spa
#! /bin/bash ## 假設nginx的日誌存放路徑爲/data/logs/ d=`date -d "-1 day" +%Y%m%d` = 定義時間(昨天的日期) logdir="/data/logs" =定義日誌存放路徑 nginx_pid="/usr/local/nginx/logs/nginx.pid" cd $logdir = 進入到日誌目錄下 for log in `ls *.log` = for循環匹配 do mv $log $log-$d = 更改全部配置文件的名字 done /bin/kill -HUP `cat $nginx_pid`
配置好切割腳本之後能夠執行測試一下腳本 sh -x 加上腳本路徑 -x =能夠顯示出腳本執行過程日誌
[root@aming-01 vhost]# sh -x /usr/local/sbin/nginx_log_rotate.sh ++ date -d '-1 day' +%Y%m%d + d=20180425 + 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-20180425 ++ cat /usr/local/nginx/logs/nginx.pid + /bin/kill -HUP 1089
寫完腳本之後還須要加上一個任務計劃:code
crontab -e = 任務計劃
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh = 表示天天凌晨0點執行腳本
一樣是在虛擬主機中配置
vim /usr/local/nginx/conf/vhost/test.com.conf = 測試的虛擬主機配置文件
配置完之後還須要 -t && -s reload 檢查配置文件語法是否有錯誤和從新加載配置文件
[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -s reload
測試:curl -x127.0.0.1:80 test.com/1.gif/2.gs
cat /tmp/test.con.log