当前位置: 首页 > news >正文

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

结束!!!

相关文章:

  • YUM仓库编译出现`conflicting requests`问题解决方案
  • Linux系统安装Docker
  • Python 构建法律DeepSeek RAG
  • YOLO训练保持原有识别能力
  • Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
  • 宝塔think PHP8 安装使用FFmpeg 视频上传
  • 数据结构之常用排序算法(冒泡、选择等)
  • 以STM32H7微控制器为例,简要说明stm32h7xx_it.c的作用
  • 主流 AI IDE 之一的 Cursor 介绍
  • mysql+keepalived
  • C#中的CLR属性、依赖属性与附加属性
  • 《零基础读懂新能源汽车》—— 新能源汽车充电革命:从逆变器原理到800V超充实战,一篇全掌握!
  • Python训练营打卡Day46(2025.6.6)
  • 【React】React 18 并发特性
  • 我爱学算法之—— 前缀和(中)
  • Spring Cloud 2025.0.0 Gateway迁移全过程详解
  • 文件上传漏洞深度解析:检测与绕过技术矩阵
  • Ubuntu创建修改 Swap 文件分区的步骤——解决嵌入式开发板编译ROS2程序卡死问题
  • 力扣100-移动0
  • 学习STC51单片机29(芯片为STC89C52RCRC)
  • 住房和城乡建设部贰级建造师网站/网站设计公司有哪些
  • 展览公司设计费/安徽seo人员
  • 东莞网站制作公/今日最新消息
  • wordpress评分管理插件/网站页面优化包括
  • 紧固件做网站有效果吗/学seo需要学什么专业
  • 政府门户网站建设合同/没被屏蔽的国外新闻网站