1. 程式人生 > >nginx 配置顯示http請求時間+日誌按日期自動切割備份+加入黑名單

nginx 配置顯示http請求時間+日誌按日期自動切割備份+加入黑名單

1.配置nginx裡面的配置檔案nginx.conf,按照如圖所示開啟記錄http請求時間

儲存配置退出後重啟nginx

然後訪問nginx,開啟logs目錄下的access.log檔案會發現多了一列(單位為秒),如下圖紅框中所示:

2.配置日誌自動切割且備份功能

寫一個指令碼如下

# /bin/bash
# 日誌儲存位置
base_path='/usr/local/nginx/logs'
# 獲取當前年資訊和月資訊
log_path=$(date -d yesterday +"%Y%m")
# 獲取昨天的日資訊
day=$(date -d yesterday +"%d")
# 按年月建立資料夾
mkdir -p $base_path/$log_path
# 備份昨天的日誌到當月的資料夾
mv $base_path/access.log $base_path/$log_path/access_$day.log
# 輸出備份日誌檔名
# echo $base_path/$log_path/access_$day.log
# 通過Nginx訊號量控制重讀日誌
kill -USR1 `cat /opt/nginx/logs/nginx.pid`

chmod u+x split_log.sh --給指令碼可執行許可權

加入定時任務定期執行

crontab -e  編輯定時任務新增如下程式碼

# 每天0時1分進行日誌分割(建議在02-04點之間,系統負載小)
01 00 * * * /usr/local/nginx/logs/split_log.sh

/etc/init.d/crond reload  --重新載入確保定時任務生效

3.設定黑名單功能

在nginx配置資料夾conf下面建立blacklist.conf檔案,裡面寫入你要禁止登陸的IP地址,如下圖所示:

在http或者server模組引入

include blacklist.conf ;如下圖所示:

需要重啟伺服器 ./nginx -s reload; 即可生效