Debian 上 Nginx 日志为空,通常不是“没流量”,而是日志路径、配置、权限或轮转出了问题。下面按最常见原因逐一排查。
Nginx 日志位置由配置决定,不一定在 /var/log/nginx/access.log。
检查:
nginx -T 2>/dev/null | grep -E 'access_log|error_log'
常见情况:
access_log/dev/null配置中可能有:
access_log off;
或
access_log /dev/null;
✅ 解决:改为
access_log /var/log/nginx/access.log;
确认:
systemctl status nginx
测试:
curl -I http://127.0.0.1
Debian 默认用 www-data 运行 Nginx:
ls -l /var/log/nginx/
ps aux | grep nginx
如果权限不对:
chown -R www-data:adm /var/log/nginx
chmod 640 /var/log/nginx/*.log
Debian 默认启用 logrotate:
cat /etc/logrotate.d/nginx
可能出现:
access.log.1)USR1 信号,继续写旧 fd检查:
ls -l /var/log/nginx/
解决:
nginx -s reopen
如果你用:
access_log /dev/stdout;
那日志在:
journalctl -u nginx
例如:
结果:后端 nginx 几乎无日志
nginx -T | grep log
systemctl status nginx
curl http://127.0.0.1
ls -l /var/log/nginx
journalctl -u nginx
如果你愿意,可以把下面信息发我,我可以直接帮你定位:
nginx -T 输出(脱敏)