Nginx每天莫名自動重啟問題
最近在做基於openresty的waf,在測試openresty的過程中用openresty替代了原nginx,結果第二天又自動切換回了原nginx,通過ps -ef 看到nginx在凌晨3點多自動重啟。連續幾天在多個機器上都發現同樣的情況。
剛開始我以為是以前的運維在crontab裡配置裡什麼自動重啟nginx的定時任務,然而crontab -l 並沒有發現什麼任務,同時我還發現nginx的日誌是有做切割的,nginx log日誌每天會自動切割壓縮儲存三天。這一發現讓我更納悶了,然後就在機器裡篩選各種指令碼都沒有發現有做日誌切割的,但是像這種動作明顯還是通過類似定時任務做出來的。難道是之前運維在其他機器上有做遠端執行指令碼?心裡還想真如果是這樣,那這坑還真挖的深。經過一番查詢然而還是沒有。。。
左思右想,,,還是覺得nginx的莫名重啟和日誌分割是分不開的,在網上查詢nginx日誌分割發現都是通過指令碼做的分割,但是之前伺服器裡並沒有這樣的指令碼。我就覺得很有可能和nginx本身有關係了,然後就換了辦法搜尋,“nginx log 預設壓縮日誌”, 好吧,還真找到了。還是定時任務的原因。
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
Linux日誌管理服務logrotate會定時讀取該檔案,根據設定按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
配置說明:
daily: 日誌檔案每天進行滾動
missingok: 如果找不到這個log檔案,就忽略過去
rotate: 保留最進52次滾動的日誌
compress: 通過gzip壓縮轉儲以後的日誌
delaycompress: 和compress一起使用時,轉儲的日誌檔案到下一次轉儲時才壓縮
notifempty 如果是空檔案的話,不轉儲
create mode owner group:轉儲檔案,使用指定的檔案模式建立新的日誌檔案
sharedscripts: 執行postrotate指令碼(該指令碼作用為讓nginx重新生成日誌檔案)
postrotate/endscript: 在轉儲以後需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
/etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
檢視logrotate最近進行了哪些日誌歸檔。
相關文章
- 電腦自動重啟是什麼原因 win10莫名其妙重啟怎麼解決Win10
- centos下nginx啟動、重啟、關閉CentOSNginx
- Docker重啟保持容器自動啟動Docker
- Nginx啟動,重啟以及基本命令詳解!Nginx
- nginx關閉/重啟/啟動的操作方法Nginx
- (原創)WinForm中莫名其妙的小BUG——RichTextBox自動選擇字詞問題ORM
- nginx 加入到開機自動啟動Nginx
- Nginx的常用命令(啟動重啟停止等)Nginx
- springboot 配置熱啟動 不需重啟自動部署Spring Boot
- 使用Keepalived實現Nginx的自動重啟及雙主熱備高可用Nginx
- unity3d Text莫名消失問題Unity3D
- Nginx學習系列三Nginx的啟動、停止、修改配置檔案後重啟Nginx
- nginx重啟指令碼Nginx指令碼
- 記一次 Ubuntu 服務 Nginx 無法啟動問題UbuntuNginx
- win10 自動重啟關閉方法_win10自動重啟怎麼關閉Win10
- 如何手動重啟 Node.js 和用守護程式自動重啟Node.js
- 記一次 Ubuntu 伺服器 Nginx 無法啟動問題Ubuntu伺服器Nginx
- 設定開機自啟動nginx和httpdNginxhttpd
- homestead啟動問題
- java map存取重複值、幼兒園分班問題、map按key自動排序問題Java排序
- Mac系統中mysql的啟動 關閉 重啟 以及如何解決kill程式不斷重啟問題MacMySql
- win10 自動黑屏重啟如何解決_win10黑屏自動重啟的解決教程Win10
- nginx 開啟、關閉、重啟常用操作Nginx
- win10自動重啟藍屏怎麼辦_win10藍屏自動重啟解決方法Win10
- log4j 動態配置,重啟專案配置失效問題
- 記一次springboot的開機啟動自動關閉問題Spring Boot
- N1盒子掛載磁碟-解決盒子重啟後無法自動掛載問題
- Nginx 499 問題Nginx
- win10為什麼關機後自動重啟 win10關機後自動重啟的方法Win10
- win10自動重啟怎麼解決_win10系統經常自動重啟修復方法Win10
- win10更新自動重啟怎麼關掉_如何徹底關掉win10更新自動重啟Win10
- iptables 重啟後ftp 策略失效的問題FTP
- (踩坑記錄)關於docker run命令啟動elasticsearch自動退出問題DockerElasticsearch
- ryu啟動問題總結
- MySQL不停地自動重啟怎麼辦MySql
- alertmanager叢集莫名傳送resolve訊息的問題探究
- 配置Nginx/Redis開機自啟NginxRedis
- 電腦一直自動重啟怎麼辦?電腦一直自動重啟的原因和解決辦法