部署rails app基础知识

时间:2015-03-23 12:56:52

标签: ruby-on-rails ruby nginx deployment puma

在过去的一年里,我一直在自学ruby和rails,最后准备好了一个应用程序,我想部署到全世界。虽然我可以相对轻松地部署到Heroku,但我宁愿学习如何自己配置,但我对Web服务器以及部署内容所需的一切知之甚少。我已经做了很多研究,似乎大多数rails应用程序都部署了unicorn / puma与nginx和Capistrano的组合。我希望有人有资源或者可以解释这些工具的基本原理。

我对unicorn / puma vs nginx感到困惑。它们看起来都像是Web服务器,但显然nginx与独角兽不同。我不知道他们如何互相交流以便为Web应用程序提供服务。

我知道Capistrano用于部署代码,但我不知道这实际意味着什么。

最后,这些工具如何与AWS或数字海洋等主机进行交互。

任何可以帮助我的帮助或资源都将受到赞赏。

3 个答案:

答案 0 :(得分:2)

这是帮助我了解可用的不同选项的最佳概述:Ruby on Rails Server options。它涵盖了大多数应用服务器以及它们实际比较的方式,最后它涵盖了Capistrano。

就我个人而言,我将AWS OpsWorks用于我的生产环境(他们有一年的免费套餐),在Nginx或Apache应用服务器层上有一个默认的Rails:http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-rails.html

答案 1 :(得分:1)

我发现Deploying Rails本书是与rails部署相关的所有内容的综合资源。不幸的是它绝版了。我怀疑它是否过时,即使它是为rails 3编写的。

有很多好博文;我觉得非常有帮助的是http://robmclarty.com/blog/how-to-deploy-a-rails-4-app-with-git-and-capistrano

注意:上述博文使用capistrano版本2.14.2。

我建议按照相同的步骤来理解capistrano,然后使用http://capistranorb.com/documentation/upgrading/升级到capistrano版本3.x

答案 2 :(得分:0)

本指南非常有用且简洁〓 使用Capistrano 3,RVM&美洲狮 https://coderwall.com/p/ttrhow/deploying-rails-app-using-nginx-puma-and-capistrano-3