【问题标题】:deploy rails app to AWS将 Rails 应用程序部署到 AWS
【发布时间】:2014-11-11 06:53:37
【问题描述】:

目前,我使用 capistrano3 通过现有的 ssh 密钥 (XXXXX.pem) 将我的 rails 应用程序部署到 AWS 我已经完成了 AWS 服务器设置(例如:ruby、rails、sqlite3 安装和 ..etc) 但是,我遇到了一些我无法弄清楚的问题。 首先,我使用 $ cap install 来生成 deploy.rb ...等。 在 config/deploy.rb =>

https://github.com/Gtar69/games/blob/master/config/deploy.rb

在 config/deploy/staging.rb 中

https://github.com/Gtar69/games/blob/master/config/deploy/staging.rb

但是,当我尝试 $ cap staging deploy 到 AWS 时,它显示

INFO[6b5414be] Running /usr/bin/env mkdir -p /tmp/GameStore/ on 54.241.249.27
DEBUG[6b5414be] Command: /usr/bin/env mkdir -p /tmp/GameStore/
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host 54.241.249.27: Authentication failed for user ubuntu@54.241.249.27
/home/chris/.rvm/gems/ruby-2.0.0-p481/gems/net-ssh-2.9.1/lib/net/ssh.rb:219:in `start'
/home/chris/.rvm/gems/ruby-2.0.0-p481/gems/sshkit-1.5.1/lib/sshkit/backends/connection_pool.rb:50:in `call'
/home/chris/.rvm/gems/ruby-2.0.0-p481/gems/sshkit-1.5.1/lib/sshkit/backends/connection_pool.rb:50:in 

有人可以帮忙吗? 谢谢 !

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 amazon-web-services ssh capistrano3


    【解决方案1】:

    由于错误,capistrano 似乎无法通过 ssh 连接到服务器。您是否为尝试连接的服务器设置了无密码 ssh?

    无密码 ssh 身份验证是 mentioned here in capistrano docs。您可以通过在命令行上调用它来非常轻松地测试它:

    ssh ubuntu@<server_ip>
    

    您应该立即登录到服务器(没有密码提示或其他任何内容)。如果有问题 - 那么我认为你应该努力解决这个问题。

    除了身份验证之外,capistrano 还需要 ssh 代理转发,这可能会让新用户感到困惑。

    为此,我创建了一个capistrano-ssh-doctor 插件。它有助于解决 capistrano ssh 问题。对于输出,您会获得一份详细列表,其中列出了哪些事情有效,哪些事情似乎卡住了,应该解决。

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 1970-01-01
      • 2013-03-18
      • 2013-04-03
      • 2018-07-07
      • 2014-04-25
      • 2021-03-01
      • 2011-06-28
      • 2015-12-25
      相关资源
      最近更新 更多