在EC2部署ROR项目遇Capistrano报错:需以ubuntu用户登录
解决Capistrano部署Rails到EC2时的"请以ubuntu用户登录"报错
修正Capistrano用户配置
打开项目中的config/deploy.rb或者对应环境的配置文件(比如config/deploy/production.rb),添加或修改用户设置:set :user, 'ubuntu'如果是在server块中定义主机,直接指定user参数:
server '53.45.43.233', user: 'ubuntu', roles: %w(app db web)配置SSH免密登录(推荐)
将本地SSH公钥复制到EC2的ubuntu用户目录下,避免每次部署输入密码:ssh-copy-id ubuntu@53.45.43.233若使用PEM密钥文件,可通过以下命令登录测试:
ssh -i /path/to/your-key.pem ubuntu@53.45.43.233也可以在本地
~/.ssh/config中配置主机信息,简化后续操作:Host ec2-deploy HostName 53.45.43.233 User ubuntu IdentityFile ~/.ssh/your-key.pem验证ubuntu用户权限
手动登录EC2的ubuntu用户,确认RVM环境正常可用:ssh ubuntu@53.45.43.233 rvm --version确保该用户拥有项目部署目录的读写权限,若没有可通过
sudo chown -R ubuntu:ubuntu /path/to/deploy_dir调整。重新执行部署命令
完成上述配置后,重新运行Capistrano部署命令:cap production deploy
内容的提问来源于stack exchange,提问作者Hitesh Gupta
相关产品推荐
相关产品推荐

