温馨提示×

debian nginx日志报错怎么看

小樊
35
2026-10-07 05:37:03
栏目: 智能运维

在 Debian 上排查 Nginx 报错,一般按下面几个步骤来,从「看日志 → 定位错误 → 常见原因 → 处理」一步步走。


一、Nginx 日志在哪里(Debian)

Debian 下 Nginx 默认日志路径:

# 错误日志(最重要)
/var/log/nginx/error.log

# 访问日志
/var/log/nginx/access.log

如果你用的是 虚拟主机(server block),可能各自有日志:

error_log /var/log/nginx/example.com.error.log;
access_log /var/log/nginx/example.com.access.log;

二、实时查看错误日志(最常用)

sudo tail -f /var/log/nginx/error.log

访问网站,同时看报错。

查看最近 50 行:

sudo tail -n 50 /var/log/nginx/error.log

三、如何“看懂”报错信息

Nginx 错误日志格式一般是:

2026/01/15 10:23:45 [error] 1234#1234: *56 open() "/var/www/html/test.html" failed (2: No such file or directory), client: 1.2.3.4, server: example.com, request: "GET /test.html HTTP/1.1"

关键信息:

  • 时间
  • [error] / [warn] / [crit](错误级别)
  • 错误原因(如 No such file)
  • server / request(哪个站点、哪个请求)

四、常见 Nginx 报错及含义

1️⃣ 404 Not Found

open() ".../index.html" failed (2: No such file or directory)

✅ 原因:

  • 网站目录不对
  • 文件不存在
  • root / index 配置错误

检查:

server {
    root /var/www/html;
    index index.html index.php;
}

2️⃣ 502 Bad Gateway

connect() failed (111: Connection refused) while connecting to upstream

✅ 原因:

  • PHP-FPM 没启动
  • 端口不对(9000 / sock)

解决:

sudo systemctl status php8.2-fpm
sudo systemctl restart php8.2-fpm

3️⃣ 403 Forbidden

directory index of "/var/www/html/" is forbidden

✅ 原因:

  • 没有 index 文件
  • 权限不足

检查:

ls -l /var/www/html
sudo chown -R www-data:www-data /var/www/html

4️⃣ 配置文件错误

nginx: [emerg] unknown directive "xxxx"

测试配置:

sudo nginx -t

修复后:

sudo systemctl reload nginx

5️⃣ 端口被占用

bind() to 0.0.0.0:80 failed (98: Address already in use)

查看占用:

sudo ss -lntp | grep ':80'

五、Nginx 日志级别(可选)

如果你想看到更详细信息(调试用):

error_log /var/log/nginx/error.log debug;

⚠️ 调试完记得改回:

error_log /var/log/nginx/error.log error;

六、快速排查顺序(推荐)

sudo nginx -t
sudo systemctl status nginx
sudo tail -f /var/log/nginx/error.log

如果你愿意,可以把 具体报错内容贴出来(一两行就行),我可以直接帮你判断是 配置问题 / 权限问题 / PHP / 反向代理 哪一种。

0 踩