Nginx服務(4) nginx日誌切割

2021-10-02 18:57:50 字數 3765 閱讀 8963

二、手動方式和指令碼方式實現nginx日誌切割

1、什麼是日誌切割?

日誌切割就是把系統的日誌以天為單位進行存放,即每一天的日誌都分開放

企業當中每天都要備份昨天的日誌,然後生成乙個新的日誌記錄今天的

如果不做日誌切割,當日誌檔案很大的時候,vim開啟的時候可能卡死等等

日誌分開後排錯的時候也簡單,是哪天的問題查哪天的日誌

2、為什麼要進行日誌切割?

在生產環境中每一天的日誌檔案都是要打包備份的

如果每天都手動的去擷取日誌,重新命名這樣就很不方便,所以我們編寫乙個指令碼並建立乙個定時任務來進行這些工作

日誌切割是自動執行的,寫在crotab定時任務裡面,寫乙個指令碼實現

實驗環境

主機名ip

功能server1

172.25.1.1

nginx伺服器

真機172.25.1.250

客戶端,用來測試

實驗1、手動方式實現日誌切割

在server1(服務端)上:

(1)檢視nginx伺服器的日誌都有哪些型別

日誌名稱

日誌型別

access.log

存放成功訪問nginx伺服器的日誌資訊

error.log

存放訪問nginx伺服器失敗的日誌資訊

nginx.pid

嚴格來說這個不算日誌,裡面存放的是nginx程序的pid

cd

/usr

/local

/nginx

/logs

/ls

(2)檢視當前時刻nginx伺服器日誌的大小,裡面的內容太少了

因為我的nginx伺服器是實驗才搭建起來的,只測試過幾次,因此內容少

實際企業當中日誌的資訊量是非常大的

du

-shaccess

.log

在真機(客戶端)上:

(3)多次請求頁面,再檢視日誌大小

個併發,

100000

次請求

在server1(服務端)上:

(4)在服務端再次檢視日誌的大小

du

-shaccess

.log

(5)接下來手動進行日誌切割

mv

access

.log

`date+%

f-d-1

day`

_access

.log

#按日期備份

/usr

/local

/nginx

/sbin

/nginx

-sreload

#重新生成乙個新的日誌

在真機(客戶端)上:

(6)再次發起請求頁面

個併發,

100次請求

在server1(服務端)上:

(7)在服務端檢視日誌的大小

du

-shaccess

.log

#檢視日誌大小

cataccess

.log|wc

-l#檢視成功請求的日誌行數

2、指令碼方式實現日誌切割

kill -usr1 $(當前執行的master程序號)

重新開啟日誌檔案,主要用在日誌切割

在server1(服務端)上:

(1)在nginx服務的日誌目錄下面編寫指令碼

(2)給許可權

chmod+x

backup

.sh

(3)建立日誌存放目錄

(4)執行指令碼,檢視日誌是否自動切割備份

(5)編寫定時任務,使實際企業當中的伺服器每天晚上的24:00準時去進行日誌切割

4 Nginx日誌配置

nginx多虛擬主機的時候,需要分開虛擬主機的日誌。也就是單獨給虛擬主機指定日誌。日誌生成的到nginx根目錄logs access.log檔案,預設使用 main 日誌格式,也可以自定義格式 log format name escape default json string 1.name 格式名...

架構篇 4 Nginx管理模組

配置nginx官方yum源 nginx官方配置位址 vim etc yum.repos.d nginx.repo 新增 nginx stable name nginx stable repo baseurl gpgcheck 0 enabled 1 儲存退出yum y install nginx y...

nginx服務日誌資訊

一 錯誤日誌 vim nginx.conf error log tmp error.log error 語法 syntax error log file level 補充說明 錯誤日誌的,預設情況下不指定也沒有關係,因為nginx很少有錯誤日誌記錄的。但有時出現問題時,是有必要記錄一下錯誤日誌的,方...