2011-02-16 84 views
3

我的设置:Rails的2.3.9,红宝石1.8.7在Windows部署Rails应用到EC2

我部署一个Rails应用程序从Windows到Linux上Slicehost最后一次,我用Capistrano的,Nginx的,杂种狗,和SVN。那是3年前,快进到现在,我仍然在Windows上进行开发,现在正在考虑部署到EC2。快速搜索可以找到橡皮和厨师等工具,通过快速阅读并不容易掌握。看起来Rubber和Chef是为多EC2实例部署而设计的,这在我需要扩展时非常有用。

我也是新来的乘客,但它似乎是现在部署Rails应用程序的默认方式,有一件事对我来说并不是很清楚,Passenger是否是Mongrel的替代品?在我之前的设置中,我配置了Nginx以将Rails请求转发到一组Mongrel进程,但我没有看到Passenger这样的东西。

任何见解都非常感谢。

+1

如果不是部署到EC2的要求,也许看看Heroku的.COM。这里是一个视频如何使用heroku与Windows:http://devcenter.heroku.com/articles/windows – StefanS 2011-02-16 11:30:02

+0

感谢您的建议,我已经使用Heroku作为分段/测试服务器。对于生产,我计划部署到EC2,最初在1个实例上部署,但部署应根据需要扩展到多个实例。我在想,EC2实例应该从Heroku中提取最新的git源代码。 – Bob 2011-02-16 17:07:53

回答

2

我们使用类似于您为我们的生产服务器描述的内容:EC2 + Apache + Passenger。我们没有任何需要使用你描述的奇特的部署工具 - 普通的旧Capistrano(加上capistrano-ext,所以我们可以在多个环境中使用它)完成这项工作就好了。我看过橡胶(不是厨师),但认为它是不必要的自动化和记录太差,我真的不确定它提供什么,不能与卡皮斯特拉诺角色一样好。

乘客一直很棒。这是一个“监督者”,manages a collection of Mongrel-like workers(我以为工人是Mongrels,但经过进一步阅读,我不认为他们是这样的,Passenger comparisons page甚至将它的RPS与Mongrel集群相比,所以......),启动它们根据需要在低负载下剔除它们,在它们崩溃时重新启动它们等等。它实际上与您描述的Server + Mongrel Cluster非常相似,但可能会更好一些,因为Passenger了解Nginx/Apache的基础工作者“T。你必须制作a few minor tweaks才能让Capistrano与Passenger搭配得很好。

如果可能,搭配乘客Ruby Enterprise Edition(来自同一个乘客的人)。这是一个更快的Ruby版本,主要归功于重写的可配置垃圾回收器。你必须tune your GC settings才能充分利用它。

希望这会有所帮助!

0

Rubystack可以让你有更大的发展同样Rails环境在Windows和Linux上部署。我们也有EC2图像(滚动到底部),它是完全免费的,所以你可以试试看。

而且,这可能不为你工作,但根据您的要求,您可能想要去PaaS的解决方案就像Heroku