AWS EC2 Ubuntu 20.04配置Nginx重启失败求助:无密码且配置报错
问题解决步骤
1. 解决sudo需要密码的问题
EC2 Ubuntu实例默认使用密钥登录,未设置用户密码,执行sudo时会要求输入密码,可通过以下方式处理:
- 设置ubuntu用户密码:
按照提示输入两次新密码,之后执行sudo passwd ubuntusudo命令时输入该密码即可。 - (可选)设置免密码sudo:
执行sudo visudo,找到行%sudo ALL=(ALL:ALL) ALL,修改为:
按%sudo ALL=(ALL:ALL) NOPASSWD:ALLCtrl+O保存,回车确认,再按Ctrl+X退出。
2. 解决Nginx重复默认服务器错误
日志提示a duplicate default server for 0.0.0.0:80,原因是Ubuntu默认的Nginx站点配置与你新增的配置都监听80端口,冲突导致启动失败。
操作步骤:
查看当前启用的站点:
ls /etc/nginx/sites-enabled/会看到
default和website.com两个配置文件,default是系统默认的80端口站点。禁用默认站点:
sudo unlink /etc/nginx/sites-enabled/default测试Nginx配置有效性:
sudo nginx -t若输出
nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置无问题。重启Nginx:
sudo systemctl restart nginx
额外检查项
- 确认前端静态文件目录存在且权限正确:
# 检查目录是否存在 ls /home/ubuntu/apps/yelp-app/client/build # 赋予Nginx进程访问权限 sudo chown -R www-data:www-data /home/ubuntu/apps/yelp-app/client/build
内容的提问来源于stack exchange,提问作者kd12345
相关产品推荐
相关产品推荐

