Debian 上 Nginx 报错的原因很多,需要结合具体报错信息来判断。下面我按最常见情况给你一个排查清单,你可以对照看看;如果你愿意,把完整报错日志贴出来,我可以精确定位。
nginx: [emerg] unknown directive "xxx"
nginx: [emerg] invalid parameter
✅ 检查配置:
sudo nginx -t
常见错误:
;server { } 没闭合nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
✅ 查看占用:
sudo ss -lntp | grep :80
sudo ss -lntp | grep :443
常见原因:
✅ 解决:
sudo systemctl stop apache2
sudo systemctl stop nginx
sudo systemctl start nginx
permission denied
常见场景:
✅ 正确做法(推荐):
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
no servers are inside upstream
✅ 检查:
ls /etc/nginx/sites-enabled/
✅ 启用站点:
sudo ln -s /etc/nginx/sites-available/xxx /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL_CTX_use_PrivateKey_file failed
常见原因:
✅ 检查:
sudo nginx -t
✅ 证书权限:
sudo chmod 600 /etc/ssl/private/*.key
nginx: command not found
✅ 检查是否安装:
nginx -v
✅ 重装:
sudo apt update
sudo apt install nginx -y
sudo tail -n 50 /var/log/nginx/error.log
如果你看到某一段报错,直接复制给我,我可以精准分析。
sudo nginx -t
sudo systemctl status nginx
sudo journalctl -u nginx -n 50
请告诉我:
我可以直接帮你对症下药 ✅