瞬间加密机场-最专业的加密线路-节点多-稳定墙-可游戏-可业务使用

找回密码
立即注册
发新帖

-2

积分

0

好友

0

主题
发表于 2025-5-18 00:36:19 | 查看: 132| 回复: 0
VPN-加速器-翻墙论坛免责声明
资料来源均来着网友自发行为,如出现问题请自行联系负责人,自行判别真伪
小白发现有台小鸡硬盘炸了,看了一下是日志文件撑满了硬盘。
du -h -d 1 /var/log/116K    /var/log/apt400K    /var/log/exim44.0K    /var/log/private798M    /var/log/journal6.9G    /var/log/nginx196K    /var/log/unattended-upgrades8.0K    /var/log/runit7.7G    /var/log/ls -lh /var/log/nginx/total 6.9G-rw-r----- 1 www-data adm 5.3G May 18 00:13 access.log-rw-r----- 1 www-data adm 1.6G May 18 00:13 error.log那我们就要来搞一下nginx日志了。
方法 1:在 nginx.conf 中限制日志大小(不推荐)

Nginx 本身不直接支持在配置文件中限制日志大小,但你可以通过 logrotate(推荐)或 cron + truncate 来实现类似效果。
(可选)手动截断日志(临时方案)

如果你只是临时想限制日志大小,可以写一个 cron 任务定期截断日志:
# 每天凌晨清空 access.log0 0 * * * sudo truncate -s 0 /var/log/nginx/access.log但这种方式不够优雅,推荐使用 logrotate(见方法 2)。
方法 2:使用 logrotate 自动管理日志(推荐)

logrotate 是 Linux 默认的日志管理工具,可以按 时间 或 大小 自动轮转(切割、压缩、删除旧日志)。
1. 检查是否已有 Nginx 的 logrotate 配置

Debian 11 默认已为 Nginx 配置 logrotate,查看:
cat /etc/logrotate.d/nginx默认配置通常如下:
/var/log/nginx/*.log {    daily    missingok    rotate 14    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}

  • daily:每天轮转一次
  • rotate 14:保留 14 天的日志
  • compress:压缩旧日志(节省空间)
  • notifempty:如果日志为空,不轮转
2. 修改配置(按大小轮转)

如果你想 按日志大小 轮转(例如超过 100MB 就切割),修改 /etc/logrotate.d/nginx:
sudo nano /etc/logrotate.d/nginx修改为:
/var/log/nginx/*.log {    size 100M  # 日志超过 100MB 就轮转    missingok    rotate 5   # 只保留 5 个旧日志文件    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}

  • size 100M:日志文件超过 100MB 时触发轮转
  • rotate 5:最多保留 5 个旧日志文件(如 access.log.1.gz ~ access.log.5.gz)
3. 手动测试 logrotate

如果本地没安装logrotate,自行安装即可。
sudo logrotate -vf /etc/logrotate.d/nginx

  • -v:显示详细信息
  • -f:强制执行(即使未到轮转时间)
4. 查看效果

ls -lh /var/log/nginx/你会看到类似:
access.log       # 当前日志(新写入的)access.log.1     # 昨天的日志access.log.2.gz  # 前天的日志(压缩)方法 3:禁用 Nginx 日志(极端情况)

如果完全不需要日志,可以在 nginx.conf 中关闭:
http {    access_log off;    error_log /dev/null;}但 不建议这样做,因为日志对排查问题很重要。

VPN-加速器-翻墙论坛免责声明
发现违规内容,私信联系发给管理员 (出处: VPN加速翻墙论坛)
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

Loading...

QQ|Archiver|手机版|小黑屋|翻墙-VPN-梯子-加速器论坛 |网站地图|网站地图

GMT+8, 2026-10-28 03:59 , Processed in 0.114119 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表