nginx如何进行日志轮转
说到Nginx日志轮转,最常用的方式就是借助 logrotate 这个工具。它就像一个自动化的日志管家,能帮你压缩、删除旧日志,还能生成新的日志文件,省去手动处理的麻烦。下面就是配置Nginx日志轮转的具体步骤,跟着走一遍就行。 先确认系统上有没有装 logrotate。大多数Linux发行版默认都
说到Nginx日志轮转,最常用的方式就是借助 logrotate 这个工具。它就像一个自动化的日志管家,能帮你压缩、删除旧日志,还能生成新的日志文件,省去手动处理的麻烦。下面就是配置Nginx日志轮转的具体步骤,跟着走一遍就行。

先确认系统上有没有装
logrotate。大多数Linux发行版默认都预装了,要是没有,用包管理器(比如apt-get或yum)装一下就行,几秒钟搞定。接下来,给Nginx单独创建一个logrotate配置文件。在
/etc/logrotate.d/目录下新建一个叫nginx的文件:sudo touch /etc/logrotate.d/nginx用文本编辑器打开这个文件,把下面的配置贴进去:
/var/log/nginx/*.log { daily missingok compress delaycompress notifempty create 0640 www-data adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }这里简单解释一下每个选项的作用:
/var/log/nginx/*.log:指定要轮转的日志文件,匹配这个路径下所有.log结尾的文件。daily:每天轮转一次,你也可以按需改成weekly或monthly。missingok:如果日志文件不存在,直接跳过,不会报错。compress:轮转后把旧日志压缩成.gz格式,节省磁盘空间。delaycompress:延迟压缩——这次轮转后不立刻压缩,等下一次轮转时才压缩上一个版本。这样做的好处是,如果日志还在被写入,不会影响后续操作。notifempty:如果日志文件是空的,就不做轮转,避免生成一堆空文件。create 0640 www-data adm:轮转后创建新的日志文件,权限设为0640,属主为www-data,属组为adm。这个权限和用户组可以根据你的Nginx配置调整。sharedscripts:如果有多个日志文件匹配,只执行一次postrotate脚本。postrotate后面的脚本:轮转完成后,向Nginx主进程发送USR1信号,通知它重新打开日志文件,这样新的日志就能继续写入新文件了。
保存并关闭文件,配置就算完成了。
最后,测试一下配置是否正确:
sudo logrotate -f /etc/logrotate.d/nginx这个命令会强制触发一次日志轮转。如果一切正常,你会看到旧日志被压缩成
.gz文件,同时生成一个新的空日志文件。
至此,Nginx日志轮转就配置好了。之后logrotate会根据你设定的频率自动运行,完全不用操心。当然,如果需要手动触发,随时可以用 sudo logrotate -f /etc/logrotate.d/nginx 来强制执行一次。整个流程清晰简洁,掌握了这个技巧,日志管理就再也不是什么麻烦事了。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。
Android Studio 是 Google 面向 Android 应用开发提供的官方集成开发环境,以 IntelliJ IDEA 为基础,集成智能代码编辑、Gradle 构建、设备模拟、界面预览、调试测试及性能分析工具,





