温馨提示×

nginx日志为何报错

小樊
39
2026-07-07 14:38:26
栏目: 编程语言

Nginx 报错的原因很多,必须结合具体错误信息才能准确判断。不过我可以先给你最常见的几类原因 + 排查思路,你对照一下,或者直接把报错内容贴出来,我可以精准帮你分析。


一、先确认去哪里看 Nginx 错误日志

一般在这几个位置:

/var/log/nginx/error.log
/var/log/nginx/access.log

查看最新错误:

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

二、最常见的 Nginx 报错原因

1️⃣ 配置文件语法错误(最常见)

报错示例:

nginx: [emerg] unknown directive "server" in /etc/nginx/nginx.conf:10
nginx: [emerg] unexpected "}" in /etc/nginx/conf.d/default.conf:20

原因

  • 少了 ;}
  • 指令写错
  • include 的文件不存在

排查

nginx -t

✅ 只要看到 test is successful 才算配置没问题


2️⃣ 端口被占用

报错示例:

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

原因

  • 80 / 443 端口被 Apache、Docker、其他 Nginx 占用

排查

ss -lntp | grep 80

解决

  • 停掉占用端口的服务
  • 或换端口

3️⃣ 权限不足(Permission denied)

报错示例:

open() "/var/www/html/index.html" failed (13: Permission denied)

原因

  • Nginx 用户(www-data / nginx)无权访问文件或目录

解决

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html

4️⃣ 反向代理后端连不上

报错示例:

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

原因

  • upstream 服务没启动
  • 端口/IP 写错
  • 防火墙拦截

排查

curl http://127.0.0.1:8080

5️⃣ SSL / HTTPS 配置错误

报错示例:

SSL_CTX_use_PrivateKey_file failed
SSL: error:0B080074:x509 certificate routines:X509_check_private_key

原因

  • 证书和密钥不匹配
  • 证书路径错误

排查

nginx -t
openssl x509 -noout -modulus -in cert.pem | md5sum
openssl rsa -noout -modulus -in key.pem | md5sum

6️⃣ 文件或目录不存在

报错示例:

open() "/etc/nginx/conf.d/xxx.conf" failed (2: No such file or directory)

三、快速自检清单 ✅

你可以按顺序来:

# 1. 检查配置
nginx -t

# 2. 查看错误日志
tail -n 50 /var/log/nginx/error.log

# 3. 检查端口
ss -lntp

# 4. 检查权限
ls -ld /var/www/html

四、我可以直接帮你定位

请把下面任意一项发我即可:

  1. 完整报错内容
  2. nginx -t 的输出
  3. 你的 nginx.confserver {} 配置
  4. 报错发生场景(启动?重载?访问某个 URL?)

我可以一步一步帮你修 ✅

0