RoR的部署方案选择
手头有个RoR的小项目要进入部署阶段了,一直很头疼RoR的部署方案。
Iteye的robbin在2008年写了篇文章http://www.iteye.com/topic/155542,深度剖析了RoR部署方案,给出了如下的选择对比:
Lighttpd+FastCGI > Lighttpd+Mongrel > Nginx+Mongrel > Apache+Mongrel > Ngignx+FastCGI > Apache+FastCGI
文中强推Lighttpd+FastCGI,说实话个人当时准备的是Nginx+Mongrel,看了robbin的文章后有点害怕。要使用L+F吗?该文章写于3年前,这些部署方案的对比是否发生变化?您是否部署过RoR,是如何选择的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这其实有几个问题:
Ruby引擎的选择:
服务端程序不建议使用RVM,如果是独立程序的话,使用REE比较好(不过REE只能支持Ruby1.8.7)
应用处理FastCGI程序的选择:
推荐 passenger 类似于 PHP-FPM 的作用
Web服务器:
推荐 nginx 对于小站比Apache省空间
unicorn 貌似是github在用的,也非常值得尝试(替代passenger)
Passenger/Nginx/Ubuntu快速部署Rails 3.1
http://ruby-china.org/topics/701
小项目的话,若对访问速度要求不是特别高的话,可以试试Rails的云服务Heroku.com
Heroku是目前最好的Rails云服务平台,免费帐户可创建无限量的App,每个App有100M的空间,5M的数据库,若超过了这个值,则需按量付费。
Heroku可以让你忘了那烦人的部署工作,真正把精力留在业务。
lighhtpd+fastcgi 比 nginx+fastcgi好在哪里?后者多一次内存copy?
目前Mongrel已经很久不更新了,并且对RAILS 3好像也不怎么支持。如果是快速部署,还是首选:passenger
貌似这个问题回答晚了。。。
RoR的发展非常迅速,目前部署方案也趋于成熟,主要两大派别:
不过以目前的情况看,好想
Nginx+Unicorn
是未来趋势。我知道的目前采用Nginx+Unicorn方案的站点包括 GitHub ,Ruby-China ,GeaKit等
Segmentfault应该也是(如果没有猜错的话)