nginx配置楞捂、日志備份
nginx
的配置文件默認位于/usr/local/nginx/conf/
下的nginx.conf
nginx配置文件位置
- nginx簡單的配置講解
更詳細的其他配置請關注后續(xù)更新泰鸡。。壳鹤。#開啟進程數(shù) <=CPU數(shù) worker_processes 1; #自定義錯誤日志保存位置严里,全局設置迈倍,默認logs/error.log #error_log logs/error.log; #每個進程最大連接數(shù)(最大連接=連接數(shù)x進程數(shù))每個worker允許同時產(chǎn)生多少個鏈接,默認1024 events { worker_connections 1024; } # http { #文件擴展名與文件類型映射表 include mime.types; #默認文件類型 default_type application/octet-stream; #自定義日志文件輸出格式 全局設置 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #自定義全局請求日志保存位置拐云,全局設置罢猪,默認logs/access.log, 定義格式:文件存儲位置 + 日志輸出格式 #access_log logs/access.log main; #打開發(fā)送文件 sendfile on; #連接超時時間 #keepalive_timeout 0; keepalive_timeout 65; #打開gzip壓縮 #gzip on; #配置虛擬主機叉瘩,基于域名膳帕、ip和端口,可以配置多個server server { #監(jiān)聽端口薇缅,可以是ip:port 或者 port listen 80; #監(jiān)聽域名,可以是ip或者域名危彩,server_name有三種匹配方式:精準匹配(www.domain.com)、通配符匹配(*.domain.com 泳桦、www.*)汤徽、正則表達式匹配(~^(?.+)\.domain\.com$) server_name localhost; #自定義請求日志,局部灸撰,當前server有效 #access_log logs/host.access.log main; #錯誤頁面及其返回地址 error_page 500 502 503 504 /50x.html; #請求匹配谒府,同樣有精準(= /index.html)拼坎、模糊(~ index)、正則完疫,允許配置多個location location / { #返回根路徑地址(相對路徑:相對于/usr/local/nginx/) root html; #默認主頁 index index.html index.htm; } # location /html { root html; index index.html index.htm; } # } # }
- 日志備份
日志對應開發(fā)和運維都是至關重要的盛龄,這時就會存在一個問題,如果所有日志都寫到一個文件中芳誓,查看分析日志時就極其不方便了余舶,因此我們需要對日志進行切割和分析處理,以周\天\小時等等單位節(jié)點對日志進行切割處理锹淌,這樣查看分析日志就很方便了匿值,以此可以采用定時任務的手段去備份管理日志。
- 日志備份具體實現(xiàn)
-
編寫分析日志切分腳本
- 備份日志文件名組裝
- 關閉
nginx
- 日志文件移動
- 啟動
nginx
mkdir /usr/local/nginx/back_up_logs
//創(chuàng)建存放備份文件目錄
vim /usr/local/nginx/sbin/log.sh
//創(chuàng)建腳本log.sh
腳本shell
如下:#!/bin/sh #設置基路徑 BASE_DIR=/usr/local/nginx #要切割備份的日志文件名 BASE_FILE_NAME=access.log #日志路徑 LOG_PATH=$BASE_DIR/logs #日志切割后備份路徑 BAK_PATH=$BASE_DIR/back_up_logs #切割日志文件 LOG_FILE=$LOG_PATH/$BASE_FILE_NAME #獲取時間 BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M` //為了測試效果赂摆,以分鐘為單位千扔,故每分鐘備份一次,具體按照實際需求設置 #備份文件 BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME echo $BAK_FILE #關閉nginx $BASE_DIR/sbin/nginx -s stop #移動切割文件 mv $LOG_FILE $BAK_FILE #啟動nginx $BASE_DIR/sbin/nginx
-
腳本授權
chmod 755 log.sh
- 創(chuàng)建定時任務調度库正,并執(zhí)行(保存退出即可自動開始執(zhí)行定時任務)
crontab -e
//執(zhí)行該命令設置定時任務
添加如下配置,保存退出
xml */1 * * * * sh /usr/local/nginx/sbin/log.sh //每分鐘執(zhí)行一次厘唾,具體的定時設置自行學習
效果如圖:
nginx日志備份
- 關閉定時任務
>crontab -l
//查看所有定時任務
>crontab -r
//刪除所有定時任務 日志備份到此結束了褥符,請繼續(xù)關注后續(xù)更新。抚垃。喷楣。
-
作者:逐暗者(轉載請注明出處)