在 Debian 上调试 Nginx 日志,通常可以按下面几个步骤来做。
Debian 下 Nginx 默认日志路径一般是:
# 访问日志
/var/log/nginx/access.log
# 错误日志
/var/log/nginx/error.log
也可以在配置里查看:
grep -R "access_log\|error_log" /etc/nginx/
# 实时查看错误日志
tail -f /var/log/nginx/error.log
# 实时查看访问日志
tail -f /var/log/nginx/access.log
可以同时开两个终端对比看。
默认错误级别是 error,调试时可以改成 debug:
编辑 Nginx 配置(如 /etc/nginx/nginx.conf 或站点配置):
error_log /var/log/nginx/error.log debug;
然后测试并重载:
nginx -t
systemctl reload nginx
⚠️ 注意:debug 会记录大量信息,仅用于调试,完成后改回。
systemctl status nginx
curl http://localhost
再看日志是否有新内容。
access_log 路径location 覆盖ls -l /var/log/nginx/
确保 Nginx 用户(通常是 www-data)有写权限。
aa-status | grep nginx
# 查看 500 错误
grep " 500 " /var/log/nginx/access.log
# 查看某 IP
grep "192.168.1.100" /var/log/nginx/access.log
在 http 或 server 中:
log_subrequest on;
可记录内部跳转、反向代理请求等。
如果你愿意,可以把:
nginx -T 配置发出来,我可以帮你具体看是哪一步的问题。