0

我按照 Ryan Bates 的 Deploy to a VPS Railscast 的说明将我的应用程序部署到 Digital Ocean 上的 ubuntu 云服务器。在我运行之后cap deploy:cold,成功执行了一些不同的命令,但是当它进入“执行包:安装”时,它会长时间处于“执行命令”模式而不会抛出任何类型的错误或完成,就像这样

  command finished in 171ms
  * 2013-06-27 12:57:07 executing `bundle:install'
  * executing "cd /home/michaelj/apps/qbruby2/releases/20130627195707 && bundle install --gemfile /home/michaelj/apps/qbruby2/releases/20130627195707/Gemfile --path /home/michaelj/apps/qbruby2/shared/bundle --deployment --quiet --without development test"
    servers: ["192.xxx.xxx.xxx"]
    [192.241.129.33] executing command

我查看了其他人的部署(在 Stackoverflow 上),发现此命令通常在几毫秒内完成。我的整个gemfile 有不到20 个gem(即标准gem 加上一些额外的),但部署在这里已经暂停了20 多分钟。

你能建议我做什么吗?

4

1 回答 1

1

解决这些问题的第一步是确保您可以远程运行命令。

幸运的是,capistrano 输出了它试图执行的命令。然后你可以复制/粘贴到服务器。

以我的经验,我已经看到 ssh 服务器为长时间运行的进程终止 ssh 会话。(例如迁移或捆绑安装)对于这些情况,有几个选项(修改服务器上的 sshd_config 对我有用)

将这些行添加到 /etc/ssh/sshd_config ClientAliveInterval 30 ClientAliveCountMax 5

于 2013-12-09T20:48:04.250 回答