在 Debian 系统上迁移 Nginx 日志,常见场景有:
/var/log/nginx 迁移到新目录下面按最常用方案给你说明。
sudo systemctl stop nginx
例如迁移到 /data/logs/nginx:
sudo mkdir -p /data/logs/nginx
sudo chown -R www-data:adm /data/logs/nginx
sudo chmod 750 /data/logs/nginx
sudo mv /var/log/nginx/* /data/logs/nginx/
编辑配置文件:
sudo nano /etc/nginx/nginx.conf
或虚拟主机配置 /etc/nginx/sites-enabled/*
将类似:
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
改为:
access_log /data/logs/nginx/access.log;
error_log /data/logs/nginx/error.log;
sudo nginx -t
sudo systemctl start nginx
Debian 使用 logrotate 自动轮转日志。
编辑:
sudo nano /etc/logrotate.d/nginx
将其中:
/var/log/nginx/*.log
改为:
/data/logs/nginx/*.log
并确认包含:
postrotate
systemctl reload nginx > /dev/null 2>&1
endscript
如果你不想改 Nginx 配置:
sudo mv /var/log/nginx /data/logs/nginx
sudo ln -s /data/logs/nginx /var/log/nginx
⚠️ 风险:
access_log syslog:server=192.168.1.10:514,facility=local7,tag=nginx_access main;
error_log syslog:server=192.168.1.10:514,facility=local7,tag=nginx_error;
适用于:
ls -ld /data/logs/nginx
ps aux | grep nginx
lsof +D /data/logs/nginx
nginx -T | grep log
| 场景 | 推荐方式 |
|---|---|
| 本地磁盘迁移 | ✅ 改 nginx + logrotate |
| 临时迁移 | 软链接 |
| 日志集中 | rsyslog / syslog |
如果你愿意,可以告诉我:
✅ Debian 版本
✅ 日志迁移目的(磁盘满 / 合规 / 集中化)
我可以给你完全定制化的迁移方案。