ubuntu系统配置nginx日志切割

本文介绍了如何在Nginx服务器中配置logrotate,包括查看日志路径,安装并修复logrotate,创建nginx配置文件,设置日志轮转参数,以及测试和应用配置,确保access.log和error.log的日志文件定期切割并归档。
摘要由CSDN通过智能技术生成

1、我们先打开nginx的配置文件查看nginx的日志路径

vim /usr/local/nginx/conf/nginx.conf

下图可以看到我的日志文件的路径为/usr/local/nginx/logs/

我们可以ls查看确定一下路径

我们的目的就是对 access.log 和 error.log 这两个日志文件进行切割

2、安装 logrotate(如果已经安装可以跳过这一步)

sudo apt-get install logrotate

2.1 如果安装logrotate 出现下面这种错误

2.2 解决办法

sudo apt --fix-broken install

2.3然后重新执行安装命令即可

3、创建 logrotate 配置文件

我们先进入到logrotate 目录下因为我们切割nginx的日志所以创建的文件名字我创建为nginx

logrotate的目录通常在/etc/logrotate.d/

cd /etc/logrotate.d/

touch nginx

4、在文件内添加以下内容

注:需要注意日志文件的路径 和pid文件的路径

vim nginx

/usr/local/nginx/logs/*.log {
    daily
    missingok
    rotate 3
    compress
    delaycompress
    notifempty
    create 0640 root adm
    sharedscripts
    postrotate
        [ ! -f /usr/local/nginx/logs/nginx.pid ] || kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
    endscript
}

用于对 /usr/local/nginx/logs/*.log 目录下的日志文件进行日志轮转。下面是各个参数的详细解释:

  • daily: 表示每天轮转一次日志文件。
  • missingok: 如果日志文件不存在,不报错继续执行。
  • rotate 3: 保留历史日志文件的数量,这里设置为保留最近的 3 个历史日志文件。
  • compress: 将轮转后的日志文件进行压缩。
  • delaycompress: 在下一次轮转时压缩上一次轮转的日志文件。
  • notifempty: 如果日志文件为空,不进行轮转。
  • create 0640 root adm: 在轮转后创建新的日志文件,并设置权限为 0640,属主为 root,属组为 adm。
  • sharedscripts: 多个日志文件共享一个脚本,在轮转前只运行一次脚本。
  • postrotate: 在轮转后执行的命令块,这里的命令是判断 nginx 进程是否在运行,如果在运行则向 nginx 主进程发送 USR1 信号,实现日志切割。

5、测试和应用配置:

可以通过运行以下命令测试 logrotate 配置文件:

logrotate -d /etc/logrotate.d/nginx

如果没有错误,就可以使用 logrotate 实际进行日志轮转了:

logrotate -f /etc/logrotate.d/nginx


完成

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值