Debian 上 Nginx 报错的原因非常多,“报错”本身只是现象,不是原因。为了准确判断,通常需要看具体报错内容和场景。
下面我按常见情况给你一个排查清单(你后面可以把具体报错贴出来,我能精确定位)。
报错示例:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
原因:
解决:
sudo netstat -tulnp | grep ':80'
或
sudo ss -tulnp | grep ':80'
报错示例:
nginx: [emerg] unknown directive "server_" in /etc/nginx/nginx.conf
原因:
;检查:
sudo nginx -t
Debian 的 nginx 结构:
/etc/nginx/nginx.conf
/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
常见错误:
sites-available 但没软链到 sites-enabled解决:
sudo ln -s /etc/nginx/sites-available/xxx /etc/nginx/sites-enabled/
报错示例:
Permission denied
原因:
www-data解决:
sudo chown -R www-data:www-data /var/www/html
报错示例:
SSL_CTX_use_PrivateKey_file failed
原因:
检查:
sudo nginx -t
systemctl status nginx
journalctl -xe
请贴出以下信息之一:
sudo nginx -t
systemctl status nginx
你可以直接告诉我:
我可以直接帮你逐行分析并给出修复命令。