二、手動方式和指令碼方式實現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很少有錯誤日誌記錄的。但有時出現問題時,是有必要記錄一下錯誤日誌的,方...