2012-10-18 45 views
1

我即将部署我的第1 Rails应用程序。我陷入困境,因为我不知道我到底需要做什么。我知道Heroku,AWS,Capistrano等,但不知道他们做了什么,以及他们的好处。Rails部署101

我还是知道一些事情,但都是模糊不清的,因为我没有经过正式的培训和学习。所以基本上我需要有人来解释Rails部署的一般解剖。

类似于:'要使任何应用程序在Web上工作,您需要以下组件...使Rails成为可用组件的方法如下。替代品是这些。这些都是利弊。'没有太多的细节,但一般和全面的指导。

回答

3

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

Heroku为基本部署提供了最简单的解决方案之一。你不需要capistrano,只需要git。 (他们提供了一个工具集来协助)。只是git推heroku主。另外不错的是,heroku上的简单部署是免费的;当你真正需要它时,你可以支付更多的权力。

但是,如果您需要heroku无法提供的一些额外功能,则必须在其他位置(例如私人虚拟主机)托管。

Capistrano是一套帮助构建部署环境的配方,类似于rake任务。它以非常有组织的方式进行,并允许轻松回滚。您定义主机及其角色,然后配方使用ssh和scp来设置环境。 (服务器也必须准备接受Rails应用程序,通过类似客)

+0

谢谢!我有一个最小的预算,并希望有更多的控制和知识部署,以及它是如何工作的......所以我想Heroku对我来说是......所以一个基本的概要是,找到一台旧电脑,使它成为一个unix服务器和主机在该机器上使用Capistrano? – oFca

+1

Heroku对于小流量是免费的,未经您的许可,它不会收费;它对于简单的初始部署实际上非常好。请记住,这两个选项都用于托管其他人可以访问的选项; heroku负责所有的服务器管理,而做自己的服务器和capistrano,你还必须学习整个系统管理演出。为了发展,你也不需要;只是本地发展。如果你想学习宿主的基本功能,那么一定要用nginx或者apache + passenger构建一个linux系统,然后使用capistrano进行部署。 – DGM

+0

我是第二个Heroku。默认去托管。 – superluminary

2

Rails和Ruby World很吵,所以我理解你的困惑。

在这一天结束时,你需要你的一个轨道服务器应用

现在连长期服务器可以是一个有点混乱,因为它通常与

  1. 远程机器
  2. 程序处理HTTP请求有关。 (您开始时,在您的计算机上开发,然后键入例如使用WEBrick或薄轨小号

你的情况,你真正想要的远程计算机(挂接到网络),这是运行一个名为服务器的程序来处理HTTP请求,并将这些请求转发给您的应用程序,从而产生请求...

Heroku将帮助您解决这个问题。 (然而,Heroku增加了几个抽象层次,所以它不像你有一台计算机坐在Heroku办公室的某个地方,为你的应用程序提供服务。)Heroku对使用git和rails进行设置非常简单。 最后,所有需要将您的应用程序转移到“远程服务器”的操作都是简单的git push。

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

初学者的文章我也建议现在:忘掉Capistrano的

哦,你能想到AWS(或可能S3)为某种外部硬盘驱动器,而您的应用程序可以用来存储大数据块(如图片,视频等)

+0

感谢澄清服务器部分:)我也评论了上面的其他人,所以检查,并希望得到您的意见:) – oFca

0

我有一个很好的shell脚本部署指南支持的Nginx + RVM +独角兽:deploy_rails

+0

“Heroku,AWS,Capistrano”呢? – emecas