在 Debian 上使用 Nginx 时遇到报错,一般可以按下面步骤快速定位和解决。
systemctl status nginx
sudo tail -n 50 /var/log/nginx/error.log
sudo nginx -t
✅ 如果输出 test is successful,说明配置没问题
❌ 如果有错误,会直接指出哪一行配置有问题
Job for nginx.service failed通常是配置错误导致。
解决:
sudo nginx -t
根据提示修改 /etc/nginx/nginx.conf 或 /etc/nginx/sites-enabled/
Address already in use说明端口(一般是 80 或 443)被占用。
查看占用进程:
sudo ss -lntp | grep :80
常见原因:
解决:
sudo systemctl stop apache2
# 或
sudo pkill nginx
Permission denied常见于:
解决:
sudo chown -R www-data:www-data /var/www/your-site
sudo chmod -R 755 /var/www/your-site
403 Forbidden原因:
index.htmlroot 路径写错检查:
server {
root /var/www/html;
index index.html;
}
404 Not Foundlocation 配置错误检查:
ls /var/www/html
如:
SSL_CTX_use_certificate_chain_file failed
解决:
sudo certbot --nginx
sudo systemctl restart nginx
sudo systemctl enable nginx
sudo nginx -t
sudo journalctl -u nginx
你可以把 具体报错信息 或 nginx -t 的输出 发给我,例如:
nginx: [emerg] unknown directive "xxxxx"
或者:
systemctl status nginx
我可以直接告诉你改哪里 ✅