我按照Ryan Bates部署到VPS Railscast的指示将我的应用程序部署到Digital Ocean上的ubuntu云服务器。在运行cap deploy:cold
之后,成功执行了几个不同的命令,但是当它执行“执行bundle:install”时,它会在“执行命令”模式下保持很长时间而不会抛出任何错误或完成,像这样
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上),发现此命令通常在几毫秒内完成。我的整个宝石文件少于20个宝石(即标准宝石加上一些额外的宝石),但部署已暂停超过20分钟。
你能建议我做什么吗?
答案 0 :(得分:1)
解决这些问题的第一步是确保您可以远程运行命令。
谢天谢地,capistrano输出它试图执行的命令。然后,您可以复制/粘贴到服务器。
根据我的经验,我已经看到ssh服务器为长时间运行的进程终止ssh会话。 (例如迁移或捆绑安装)对于这些情况,有几个选项(修改服务器上的sshd_config对我有用)
将这些行添加到/ etc / ssh / sshd_config ClientAliveInterval 30 ClientAliveCountMax 5