温馨提示×

怎样调试debian nginx日志

小樊
33
2026-10-06 12:24:39
栏目: 智能运维

在 Debian 上调试 Nginx 日志,通常可以按下面几个步骤来做。


一、确认 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 会记录大量信息,仅用于调试,完成后改回。


四、检查 Nginx 是否真的在写日志

  1. 确认 Nginx 运行中:
systemctl status nginx
  1. 手动访问一次:
curl http://localhost

再看日志是否有新内容。


五、常见日志问题排查

1. 日志没更新

  • 是否配置了新的 access_log 路径
  • 是否被 location 覆盖
  • 文件系统是否只读

2. 权限问题

ls -l /var/log/nginx/

确保 Nginx 用户(通常是 www-data)有写权限。

3. SELinux / AppArmor(Debian 多为 AppArmor)

aa-status | grep nginx

六、用日志定位 4xx / 5xx

# 查看 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 配置
  • 访问现象(404 / 502 等)

发出来,我可以帮你具体看是哪一步的问题。

0 踩