Docker + Nginx + Logrotate 日志管理與輪換實踐

概述與背景
  • Docker 容器化環境中 Nginx 日志管理的挑戰
  • Logrotate 的作用與必要性
  • 結合場景的實際需求(如日志切割、壓縮、歸檔)

Docker 環境下的 Nginx 日志配置
  • Nginx 日志路徑與 Docker 數據卷映射
volumes:- ./nginx/logs:/var/log/nginx

Logrotate 基礎配置

在 /etc/logrotate.d/目錄下 新增 nginx-web 這個文件可以隨意命名

vim /etc/logrotate.d/nginx-web
  • Logrotate 核心配置參數說明
    daily                  # 指定日志輪換周期為每天(logrotate 每天執行一次輪換)。rotate 15              # 保留最近的 15 個輪換日志文件,超過 15 個的將被刪除。compress               # 壓縮舊的日志文件,以節省存儲空間(默認使用 gzip 壓縮)。missingok              # 如果日志文件丟失,不會報錯。即使日志文件不存在,也不會阻止日志輪換。notifempty             # 如果日志文件為空,則不進行輪換。create 777 root root   # 創建新的日志文件時,設置權限為 777,并且設置擁有者為 root,用戶組為 root。postrotate             # 在日志文件輪換之后執行的腳本。可以用來發送信號給服務來讓其重新打開新的日志文件。docker kill --signal=USR1 nginx-web  # 向 nginx-web 的 Docker 容器發送 USR1 信號,讓NGINX 重新打開日志文件。   endscript              # 結束 postrotate 腳本的定義。
}
nginx-web配置文件

/storage/docker/nginx/log/access.log 這個目錄不用多介紹 nginx的日志文件全路徑 error.log同理

/storage/docker/nginx/log/access.log {daily                  rotate 15               compress              missingok             notifempty            create 777 root rootpostrotatedocker kill --signal=USR1 nginx-webendscript
}/storage/docker/nginx/log/error.log {daily                  rotate 60               compress              missingok             notifempty            create 777 root rootpostrotatedocker kill --signal=USR1 nginx-webendscript
} 
手動測試
logrotate -f /etc/logrotate.d/nginx-web

測試結果正常

在這里插入圖片描述

查看access.log是否正常

確認docker kill --signal=USR1 nginx-web命令是否生效
測試結果正常!!
在這里插入圖片描述

配置定時任務 crontab
 crontab -e

添加 (@daily意思為每天0點執行)

@daily /usr/sbin/logrotate -f /etc/logrotate.d/nginx-web

結束!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83909.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83909.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83909.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

涂膠協作機器人解決方案 | Kinova Link 6 Cobot在涂膠工業的方案應用與價值

涂膠工業現狀背景: 涂膠工藝在汽車制造、電子組裝、航空航天等工業領域極為關鍵,關乎產品密封、防水、絕緣性能及外觀質量。 然而,傳統涂膠作業問題頻發。人工操作重復性強易疲勞,涂膠質量波動大;大型涂膠器使用增加工…

釋放模型潛力:淺談目標檢測微調技術(Fine-tuning)

引言 在計算機視覺領域,目標檢測是一項至關重要的任務,它不僅要識別出圖像中存在哪些物體,還要精確地定位它們的位置。從自動駕駛汽車識別行人與車輛,到醫療影像輔助診斷病灶,再到智能安防監控異常事件,目標…

Unreal從入門到精通之 UE4 vs UE5 VR性能優化實戰

文章目錄 前言:準備工作UE4 vs UE5 性能對比引擎核心技術方案對比UE5 優化總結項目設置可伸縮性組設置VolumetricCloud最后前言: 最近在使用UE5制作VR項目 制作完后發現,我們的場景一直很卡頓,場景優化也做到了極致,但是幀率最高也才30+ 但是我們看到一個競品,他的幀率竟…

爆炸仿真的學習日志

今天學習了一下【Workbench LS-DYNA中炸藥在空氣中爆炸的案例-嗶哩嗶哩】 https://b23.tv/kmXlN29 一開始 如果你的 ANSYS Workbench 工具箱(Toolbox)里 只有 SPEOS,即使嘗試了 右鍵刷新、重置視圖、顯示全部 等方法仍然沒有其他分析系統&a…

Redis部署架構詳解:原理、場景與最佳實踐

文章目錄 Redis部署架構詳解:原理、場景與最佳實踐單點部署架構原理適用場景優勢劣勢最佳實踐 主從復制架構原理消息同步機制1. 全量同步(Full Resynchronization)2. 部分重同步(Partial Resynchronization)3. 心跳檢測…

AI預測3D新模型百十個定位預測+膽碼預測+去和尾2025年6月6日第100彈

從今天開始,咱們還是暫時基于舊的模型進行預測,好了,廢話不多說,按照老辦法,重點8-9碼定位,配合三膽下1或下2,殺1-2個和尾,再殺4-5個和值,可以做到100-300注左右。 (1)定…

驗證電機理論與性能:電機試驗平板提升測試效率

電機試驗平板提升測試效率是驗證電機理論與性能的重要環節之一。通過在平板上進行電機試驗,可以對電機的性能參數進行準確測量和分析,從而驗證電機的理論設計是否符合實際表現。同時,提升測試效率可以加快試驗過程,節約時間和成本…

C語言 — 編譯和鏈接

目錄 1.程序從源文件到結果輸出的執行過程2.預處理3.編譯3.1 詞法分析3.2 語法分析3.3 語義分析3.4 生成test.s文件 4.匯編5.鏈接6.運行 1.程序從源文件到結果輸出的執行過程 2.預處理 預處理階段的執行操作: 預處理階段會將#define定義的常量或宏進行替換&#x…

傳統業務對接AI-AI編程框架-Rasa的業務應用實戰(5)--Rasa成型可用 rasa服務化部署及識別意圖后的決策及行為

此篇接續上一篇 傳統業務對接AI-AI編程框架-Rasa的業務應用實戰(4)--Rasa成型可用 針對業務配置rasa并訓練和部署 上一篇我們已經讓Rasa準確識別了我們自然語言指令的開票和查詢發票的意圖和實體。 # 開具發票場景 用戶輸入:開具一張1000元…

MajicTryOn(基于wanvideo的虛擬試穿項目)

網絡結構 Attention模塊詳解 左邊服裝通過qwen2.5-VL-7B來生成詳細的服裝描述;線條提取器產生相應的線條map;garment和line map通過vae轉換為潛在空間特征,然后分別經過patchfier,最后通過zero proj得到Garment Tokens和Line Tokens;右邊是di…

JAVA-什么是JDK?

1.JDK 的定義 JDK(Java Development Kit)是 Java 開發工具包,是 Oracle 官方提供的用于開發、編譯和運行 Java 應用程序的核心工具集。它包含了編寫 Java 程序所需的編譯器、調試工具、庫文件以及運行時環境(JRE)。 2…

Palo Alto Networks Expedition存在命令注入漏洞(CVE-2025-0107)

免責聲明 本文檔所述漏洞詳情及復現方法僅限用于合法授權的安全研究和學術教育用途。任何個人或組織不得利用本文內容從事未經許可的滲透測試、網絡攻擊或其他違法行為。使用者應確保其行為符合相關法律法規,并取得目標系統的明確授權。 對于因不當使用本文信息而造成的任何直…

分布式光纖傳感(DAS)技術應用解析:從原理到落地場景

近年來,分布式光纖傳感(Distributed Acoustic Sensing,DAS)技術正悄然改變著眾多傳統行業的感知方式。它將普通的通信光纜轉化為一個長距離、連續分布的“聽覺傳感器”,對振動、聲音等信號實現高精度、高靈敏度的監測。…

獨家首發!低照度環境下YOLOv8的增強方案——從理論到TensorRT部署

文章目錄 引言一、低照度圖像增強技術現狀1.1 傳統低照度增強方法局限性1.2 深度學習-based方法進展 二、Retinexformer網絡原理2.1 Retinex理論回顧2.2 Retinexformer創新架構2.2.1 光照感知Transformer2.2.2 多尺度Retinex分解2.2.3 自適應特征融合 三、YOLOv8-Retinexformer…

96. 2017年藍橋杯省賽 - Excel地址(困難)- 進制轉換

96. Excel地址(進制轉換) 1. 2017年藍橋杯省賽 - Excel地址(困難) 標簽:2017 省賽 1.1 題目描述 Excel 單元格的地址表示很有趣,它使用字母來表示列號。 比如, A 表示第 1 列,…

EtherNet/IP轉DeviceNet協議網關詳解

一,設備主要功能 疆鴻智能JH-DVN-EIP本產品是自主研發的一款EtherNet/IP從站功能的通訊網關。該產品主要功能是連接DeviceNet總線和EtherNet/IP網絡,本網關連接到EtherNet/IP總線中做為從站使用,連接到DeviceNet總線中做為從站使用。 在自動…

Druid連接池實現自定義數據庫密碼加解密功能詳解

Druid連接池實現自定義數據庫密碼加解密功能詳解 在企業級應用開發中,數據庫密碼的明文存儲是一個顯著的安全隱患。Druid作為阿里巴巴開源的高性能數據庫連接池組件,提供了靈活的密碼加密與解密功能,允許開發者通過自定義邏輯實現數據庫密碼…

生成 Git SSH 證書

🔑 1. ??生成 SSH 密鑰對?? 在終端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)執行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ??參數說明??: -t rsa&#x…

Java并發編程實戰 Day 12:阻塞隊列與線程協作

【Java并發編程實戰 Day 12】阻塞隊列與線程協作 開篇 歡迎來到“Java并發編程實戰”系列的第12天!今天我們將深入探討阻塞隊列(BlockingQueue)及其在線程協作中的應用。阻塞隊列是Java并發編程中一個非常重要的工具,它不僅簡化…

Linux 前后端項目問題排查命令手冊

一、系統資源監控類命令? 1. CPU 資源排查? top - 動態實時監控進程? top [選項] 常用選項: -d 2 # 每2秒刷新一次 -H # 顯示線程信息 -p 1234 # 僅監控PID為1234的進程 輸出解讀:? %Cpu(s):總 CPU 使用率,用戶態 + 內核態?KiB Mem:內…