You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Ubuntu环境配置NGINX后启动报错nginx.server failed如何解决

Nginx启动失败排查与修复方法

第一步:快速验证配置有效性

优先执行配置语法校验命令,可直接定位90%以上的启动错误:

sudo nginx -t

如果输出包含test is successful说明配置语法和基础权限校验通过,否则直接根据命令输出的错误行、错误提示修改即可。

针对你当前配置的高频错误原因

  • 重复的default_server配置冲突
    Ubuntu默认安装的Nginx会自带/etc/nginx/sites-available/default配置文件,其中已经声明了listen 80 default_server;,同一端口下不允许存在多个default_server规则。你可以选择删除默认配置的软链:
sudo rm /etc/nginx/sites-enabled/default

或者删除你自定义配置中的default_server字段即可解决冲突。

  • 站点目录权限不足
    Nginx默认以www-data用户运行,而AWS Ubuntu默认的/home/ubuntu目录权限仅允许ubuntu用户本人访问,Nginx无读取权限会导致启动失败。执行以下命令开放权限:
chmod 755 /home/ubuntu
chmod -R 755 /home/ubuntu/public_html /home/ubuntu/data
  • 80端口被其他服务占用
    如果机器上已经运行了Apache、旧的Nginx进程或者其他Web服务占用80端口,也会触发启动失败。执行命令查看端口占用:
sudo lsof -i :80

找到占用80端口的进程PID后执行sudo kill -9 对应PID,或者修改Nginx监听的端口号即可。

  • 配置文件引用错误
    如果你将自定义配置放在/etc/nginx/sites-available/目录下,需要手动建立软链到生效目录:
sudo ln -s /etc/nginx/sites-available/你的配置文件名 /etc/nginx/sites-enabled/

如果放在/etc/nginx/conf.d/目录下,需要保证配置文件后缀为.conf才会被Nginx加载。

修复后操作

修改完成后重新执行sudo nginx -t确认配置校验通过,再执行重启命令即可:

sudo systemctl restart nginx

如果仍有报错,执行以下命令查看完整错误日志定位问题:

sudo journalctl -u nginx.service --since today

内容的提问来源于stack exchange,提问作者greenjoe071

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 08:45:05