温馨提示×

Nginx日志出现错误怎么解

小樊
45
2026-08-12 04:18:01
栏目: 编程语言

Nginx 日志出现错误时,排查思路基本是:先看日志内容 → 定位是哪一类问题 → 对号入座解决。下面给你一个实用排查指南,基本能覆盖 90% 的情况。


一、先找到 Nginx 日志在哪

1️⃣ 常见日志路径

# 错误日志
/var/log/nginx/error.log

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

如果找不到,看 nginx 配置:

nginx -T | grep log

二、常见 Nginx 错误 & 解决方法

✅ 1. 端口被占用

错误示例

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

原因

  • 80 / 443 端口已被占用(Apache、另一个 Nginx、Docker 等)

解决

# 查看谁占用
sudo lsof -i :80
sudo lsof -i :443

# 杀掉进程
sudo kill -9 PID

或改端口:

listen 8080;

✅ 2. 配置文件语法错误

错误示例

nginx: [emerg] unknown directive "server"

解决

# 检查配置
nginx -t

常见错误:

  • 少了 ;
  • {} 不匹配
  • server 不在 http {}

✅ 3. 权限不足(非常常见)

错误示例

Permission denied

原因

  • Nginx 用户无权访问:
    • 网站目录
    • SSL 证书
    • 日志目录

解决

# 查看 Nginx 用户
ps aux | grep nginx

# 修改目录权限
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html

证书权限:

chmod 600 /etc/nginx/ssl/*.key

✅ 4. 403 Forbidden

错误示例

403 Forbidden

原因

  • 没有 index 文件
  • 目录权限不对
  • 访问被 deny

解决

location / {
    root /var/www/html;
    index index.html index.php;
}
chmod 755 /var/www/html

✅ 5. 404 Not Found

错误示例

404 Not Found

原因

  • root / alias 路径不对
  • URL 和文件路径不匹配

root vs alias 常见坑

# 正确
location /static/ {
    root /var/www;
}
# 实际路径:/var/www/static/

✅ 6. SSL / HTTPS 错误

错误示例

SSL_CTX_use_PrivateKey_file failed

原因

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

解决

# 验证证书
openssl x509 -in cert.pem -text -noout
openssl rsa -in key.pem -check

配置示例:

ssl_certificate     /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;

✅ 7. 反向代理 / 上游错误

错误示例

connect() failed (111: Connection refused)

原因

  • upstream 服务没启动
  • 端口写错

解决

# 检查后端服务
curl http://127.0.0.1:8080

三、快速排查流程(推荐)

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

# 2. 检查配置
nginx -t

# 3. 重载配置
nginx -s reload

四、如果你愿意,我可以直接帮你解决

你可以直接把 error.log 的报错内容贴出来(不用贴 IP、域名),我可以:

✅ 精确判断错误类型
✅ 给出最小修改方案
✅ 顺带帮你优化 Nginx 配置

只要贴一行报错就够了。

0