当前位置: 首页
编程语言
Nginx日志轮转如何配置最佳

Nginx日志轮转如何配置最佳

热心网友 时间:2026-04-24
转载

Nginx日志轮转的最佳配置取决于你的具体需求和系统资源

下面分享一个经过实践检验的基础配置方案,你可以把它作为起点,再根据自己服务器的实际情况进行微调。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

Nginx日志轮转如何配置最佳

第一步:配置Nginx日志格式与输出

首先,找到Nginx的主配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。打开它,在 http 配置块中加入或调整日志相关的设置:

http {
    # ...
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
    access_log /var/log/nginx/access.log main buffer=32k flush=300s;
    error_log /var/log/nginx/error.log warn buffer=32k flush=300s;
    # ...
}

这段配置做了几件事:定义了一个名为 main 的标准日志格式,并分别指定了访问日志和错误日志的存储路径。关键在于后面两个参数:buffer=32k 设置了32KB的内存缓冲区,而 flush=300s 则意味着日志数据会先在缓冲区累积,每5分钟才写入磁盘一次。这招能有效减少高频的磁盘I/O操作,对提升服务器性能很有帮助。

第二步:设置logrotate实现自动轮转

光有Nginx配置还不够,要实现日志的自动切割和归档,还得靠系统工具 logrotate。好消息是,绝大多数Linux发行版都已经预装了它。如果确实没有,用包管理器安装一下也很简单。

接下来,创建一个专属于Nginx的logrotate配置文件,比如 /etc/logrotate.d/nginx,然后把下面的规则放进去:

/var/log/nginx/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        if [ -f /var/run/nginx.pid ]; then
            kill -USR1 `cat /var/run/nginx.pid`
        fi
    endscript
}

这些选项具体是什么意思?我们来拆解一下:

  • daily:顾名思义,每天执行一次轮转。
  • missingok:即使日志文件暂时找不到,也别报错,继续往下执行。
  • rotate 7:保留最近7天的历史日志文件,更早的会自动删除。
  • compress:启用压缩,节省磁盘空间,旧日志会变成.gz格式。
  • notifempty:如果当天日志文件是空的,就不进行轮转操作。
  • create 0640 www-data adm:轮转后创建的新日志文件,会设置好权限(0640)和属主(www-data用户和adm组),确保Nginx进程有权限写入。
  • sharedscripts:如果匹配了多个日志文件,确保postrotate脚本只运行一次,避免重复操作。
  • postrotate:这是整个流程的“点睛之笔”。脚本会向Nginx主进程发送USR1信号,这个信号的作用是让Nginx重新打开日志文件。没有这一步,Nginx会继续向旧的(已被轮转重命名)文件描述符写日志,导致轮转失效。

第三步:保存并生效

保存好配置文件,整个设置就完成了。之后,logrotate 会作为系统每日任务自动运行,帮你打理好Nginx的日志。

最后要提醒的是,上面给出的参数都是通用性较强的默认值。真正的最佳配置,需要你根据服务器的磁盘容量、日志生成速度以及实际的保留政策来灵活调整。比如,如果日志量巨大,你可能需要把 rotate 7 调小,或者将 daily 改为 size 触发模式;反之,如果需要长期审计,则可以增加保留天数。多观察,多调整,才能找到最适合你那个环境的“黄金参数”。

来源:https://www.yisu.com/ask/50577106.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
ubuntu里nodejs如何备份

ubuntu里nodejs如何备份

在Ubuntu系统中备份Node js应用程序 给运行在Ubuntu上的Node js应用做备份,这事儿说简单也简单,但步骤没做对,关键时刻可能就抓瞎。一个完整的备份方案,通常得覆盖代码、数据、配置和日志这几个核心部分。下面这套流程,算是经过不少实战检验的“标准动作”,照着做,基本能确保万无一失。

时间:2026-04-24 22:35
ubuntu中nodejs依赖怎么装

ubuntu中nodejs依赖怎么装

在 Ubuntu 系统中安装 Node js 依赖 想在 Ubuntu 上搞定 Node js 环境?其实路径不止一条。下面这几种主流方法,各有各的适用场景,你可以根据自己对版本管理、系统集成度的需求来灵活选择。 1 使用包管理器(推荐) 对于大多数 Ubuntu 用户来说,最直接、最省心的方式,

时间:2026-04-24 22:34
ubuntu里nodejs怎么配置

ubuntu里nodejs怎么配置

Ubuntu 下 Node js 配置全流程 一 安装方式选择 在Ubuntu上配置Node js,第一步也是关键一步,就是选对安装方法。不同的方法对应着不同的使用场景,选对了,后续工作事半功倍。 使用 APT 官方仓库:命令最简单,适合追求快速上手的场景。不过,官方仓库的版本更新往往不那么及时,可

时间:2026-04-24 22:34
ubuntu中nodejs报错怎么办

ubuntu中nodejs报错怎么办

在Ubuntu系统中,如果Node js报错,可以尝试以下方法来解决问题 遇到Node js报错先别慌,很多时候问题出在一些基础环节。按照下面这几个步骤排查一遍,大部分问题都能迎刃而解。 1 确认Node js是否已正确安装 第一步,也是最基础的一步:检查Node js和它的包管理器npm是否真的

时间:2026-04-24 22:34
ubuntu下nodejs如何卸载

ubuntu下nodejs如何卸载

Ubuntu 下卸载 Node js 的实用步骤 在 Ubuntu 上彻底清理 Node js,第一步不是急着敲命令,而是得先搞清楚它当初是怎么来的。不同的安装方式,决定了完全不同的卸载路径。盲目操作,很可能留下各种“历史遗留问题”。 一、先确认安装来源 动手之前,花一分钟做个快速诊断,能让你事半功

时间:2026-04-24 22:34
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程