“Debian 上 Nginx 报错”这个范围比较大,我需要先帮你定位具体错误。你可以按下面步骤来查,基本都能找到原因。
sudo tail -n 50 /var/log/nginx/error.log
常见错误示例:
permission deniedaddress already in useunknown directiveSSL certificate errorsudo nginx -t
如果报错,会直接告诉你哪一行、哪个文件有问题。
报错:
bind() to 0.0.0.0:80 failed (98: Address already in use)
解决:
sudo ss -lntp | grep ':80'
可能是:
报错:
Permission denied
原因:
/var/wwwwww-data解决:
sudo chown -R www-data:www-data /var/www/your_site
sudo chmod -R 755 /var/www/your_site
Debian 默认 没有 SELinux,但可能有 AppArmor。
检查:
sudo aa-status
Debian 推荐结构:
/etc/nginx/sites-available/xxx
/etc/nginx/sites-enabled/xxx
忘记软链接:
sudo ln -s /etc/nginx/sites-available/xxx /etc/nginx/sites-enabled/
systemctl status nginx
journalctl -xe
常见原因:
如果你愿意,直接把下面任意一个内容贴出来,我可以精确告诉你怎么改:
1️⃣ sudo nginx -t 的输出
2️⃣ /var/log/nginx/error.log 的最后 20 行
3️⃣ systemctl status nginx 的输出
你现在是 启动报错、访问 403 / 502、还是配置不生效?