nginx 配置顯示http請求時間+日誌按日期自動切割備份+加入黑名單
阿新 • • 發佈:2019-02-17
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; 即可生效