Rails部署101

时间:2012-10-18 13:39:46

标签: ruby-on-rails ruby deployment heroku capistrano

我即将部署我的第一个Rails应用程序。我被困住了,因为我不知道到底需要做什么。我知道Heroku,AWS,Capistrano等,但不知道他们到底做了什么,以及他们的好处是什么。

我有点了解一些事情,但由于我没有接受过正式培训并且随时学习,因此一切都模糊不清。所以基本上我需要有人来解释Rails部署的一般解剖。

类似于:'要使任何应用程序在Web上运行,您需要以下组件...使用Rails使该组件正常工作的方法如下。替代品就是这些。这些都是利弊。没有太多细节,而是一般而全面的101指南。

3 个答案:

答案 0 :(得分:3)

您可能感到困惑的原因是有很多方法可以做到这一点。 :d

Heroku为基本部署提供了最简单的解决方案之一。你不需要capistrano,只需要git。 (他们提供了一个工具集来协助)。只需git push heroku master。同样很好的是在heroku上的简单部署是免费的;你可以在实际需要时付出更多的力量。

但是如果你需要一些heroku无法提供的额外功能,你必须在其他地方托管,例如私人虚拟主机。

Capistrano是一组有助于构建部署环境的配方,有点像rake任务。它以非常有条理的方式实现,并允许轻松回滚。您定义主机及其角色,然后配方使用ssh和scp来设置环境。 (服务器也必须准备接受铁路应用程序,通过像乘客这样的东西)

答案 1 :(得分:2)

Rails和Ruby World非常嘈杂,所以我理解你的困惑。

在一天结束时,您需要在服务器上使用应用

现在,即使术语服务器也会有点混乱,因为它通常与

相关联
  1. 远程计算机
  2. 处理HTTP请求的程序。 (例如,您在计算机上进行开发并键入 rails s 时启动的 webrick或thin
  3. 在您的情况下,您实际上需要一台远程计算机(连接到网络),该计算机正在运行一个名为服务器的程序来处理HTTP请求并将这些请求转发到您的应用程序,从而产生请求...

    Heroku 会帮助您解决这个问题。 (然而Heroku在混合中增加了几层抽象。所以它不像你有一台计算机坐在heroku办公室的某个地方,为你的应用程序提供服务。)Heroku很难用git和rails设置。 最后,将您的应用程序带到“远程服务器”所需的只是一个简单的 git push。

    阅读https://devcenter.heroku.com/

    上的初学者文章

    我现在也建议:忘掉 Capistrano

    哦,您可以将 AWS(或可能是S3)视为某种外部硬盘驱动器,您的应用可以使用它来存储更​​大的数据(如图像,视频等)< / p>

答案 2 :(得分:0)

我有一个包含良好shell脚本的部署指南,支持Nginx + RVM + Unicorn:deploy_rails