日誌配置和及切割

2021-10-01 11:47:07 字數 2020 閱讀 2480

通過訪問日誌,你可以得到使用者地域**、跳轉**、使用終端、某個url訪問量等相關資訊;通過錯誤日誌,你可以得到系統某個服務或server的效能瓶頸等。

至於如何配置日誌,我們在nginx.conf 配置檔案中也介紹過了,以及介紹了設定其日誌格式的各個引數的含義。

我們只需要將nginx.conf配置檔案中的注釋刪除即可,也可以自定義字日誌的格式,然後我們重啟下nginx即可

然後我們就可以去nginx目錄下的logs資料夾下進行檢視

但是隨著nginx執行的時候越長,access.log和error.log日誌可能就會越來越大,這樣就會讓我們查詢日誌就會非常的麻煩,所以一般我們會按照日期對日誌進行切割,這樣我們哪一天出現了問題,只需要去找對應的日誌檔案即可。

日誌切割這裡我們就需要用到shell指令碼了,首先我們準備將其放到sbin目錄下,都是可執行檔案嘛,我們首先切換至sbin資料夾下,然後使用vim新建乙個logsplit.s**件並進行編譯

完成後,按 : 鍵即可進入末行模式,然後輸入wq或者x進行儲存

logspilt.sh中最後一句,是向nginx主程序發訊號重新開啟日誌,這個我們之前nginx.conf 配置檔案簡介也說過kill -usr1的用法

至於其中的cat $/nginx.pid是查詢nginx的程序號,如果我們直接通過ps -ef|grep nginx這樣查詢也是可以得到nginx的程序號的,但是nginx啟動後,我們可以直接在 nginx/logs/ 下可以直接查詢

完成了日誌切割的shell指令碼後,我們發現該檔案沒有執行許可權

這裡我們使用chmod +x logsplit.sh給其賦予執行許可權,也可以執行chmod 777 logsplit之類的數字組合賦予許可權

然後我們就可以將其進行設定定時執行了,crontab -e

然後進行儲存,然後我們檢視一下定時任務的狀態/etc/init.d/crond status,如果發現沒有這個命令,我們可以使用systemctl status crond

然後我們將其開始/ect/init.d/crond start,如果發現沒有這個命令,我們可以使用systemctl start crond,開啟之後,我們在查詢一下狀態

另外我們還需要將系統的日誌給啟動,使用/etc/init.d/rsyslog start進行啟動,同樣的如果失敗了,可以使用systemctl start rsyslog即可。

然後就可以了,我們如果需要檢視其定時任務的日誌,可以使用tail -f /var/log/cron進行檢視,然後需要關閉也是很簡單的,把我們上述的命令中start改為stop即可。

ps:在測試時,我們可以先使用一分鐘執行一次來檢視其效果。

nginx 如何配置日誌及切割日誌

remote addr remote user time local request ip位址 請求方式 status body bytes sent 狀態 請求多少位元組 http referer 從哪個頁面進來的 http user agent 使用者 http x forwarded for ...

Nginx 日誌配置 日誌切割

設定error log 日誌切割 前置文章 nginx 的配置檔案 nginx.conf nginx日誌對於統計 系統服務排錯很有用。nginx日誌主要分為兩種 access log 訪問日誌 和error log 錯誤日誌 通過訪問日誌我們可以得到使用者的ip位址 瀏覽器的資訊,請求的處理時間等資...

配置 Nginx 自動切割日誌

第一種方法 mv opt nginx logs access.log opt nginx logs access date y m d log killall s usr1 nginx 使用usr1引數通知nginx程序切換日誌檔案 將以上指令碼內容儲存為檔名為 logcron.sh 存到自定的目錄...