2013-06-27 93 views
0

我遵循Ryan Bates'部署到VPS Railscast的指示,将我的应用程序部署到Digital Ocean上的Ubuntu云服务器。运行cap deploy:cold后,几个不同的命令被成功执行,但是当它执行bundle:install时,它会长时间处于'执行命令'模式,而不会抛出任何类型的错误或完成,像这样capistrano'执行捆绑安装'未完成

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 

我看了一些别人的部署(#2),看到这个命令通常在几毫秒内完成。我的整个gemfile文件少于20个宝石(即标准宝石加上一些额外的文件),但部署在这里暂停了20多分钟。

你能建议我可能做什么吗?

+0

如果您尝试在ssh中将命令运行到服务器以查看是否存在某个问题,该怎么办? – Aguardientico

+0

我不明白。你能详细解释一下吗?我不知道你的意思是“在我的服务器中运行命令”还是运行“进入”我的服务器 – Leahcim

+0

运行'ssh youruser @ your_server_addr_at_digital_ocean'。在ssh shell中输入:'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' – Aguardientico

回答

1

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

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

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

添加这些行到/ etc/SSH/sshd_config中 ClientAliveInterval 30 ClientAliveCountMax 5