在过去的一年里,我一直在自学ruby和rails,最后准备好了一个应用程序,我想部署到全世界。虽然我可以相对轻松地部署到Heroku,但我宁愿学习如何自己配置,但我对Web服务器以及部署内容所需的一切知之甚少。我已经做了很多研究,似乎大多数rails应用程序都部署了unicorn / puma与nginx和Capistrano的组合。我希望有人有资源或者可以解释这些工具的基本原理。
我对unicorn / puma vs nginx感到困惑。它们看起来都像是Web服务器,但显然nginx与独角兽不同。我不知道他们如何互相交流以便为Web应用程序提供服务。
我知道Capistrano用于部署代码,但我不知道这实际意味着什么。
最后,这些工具如何与AWS或数字海洋等主机进行交互。
任何可以帮助我的帮助或资源都将受到赞赏。
答案 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