【问题标题】:Rails Deployment 101Rails 部署 101
【发布时间】:2012-10-18 13:39:45
【问题描述】:

我即将部署我的第一个 Rails 应用程序。我被困住了,因为我不知道我到底需要做什么。我知道 Heroku、AWS、Capistrano 等,但不知道它们具体做什么,以及它们的好处是什么。

我有点了解一些事情,但由于我没有接受过正规培训并且边走边学,因此所有事情都是模糊不清的。所以基本上我需要有人来解释一下 Rails 部署的大体结构。

类似于:'要使任何应用程序在 Web 上运行,您需要以下组件... 使该组件与 Rails 一起工作的方法如下。替代品是这些。这些都是优点和缺点。不是太详细,而是一般而全面的 101 指南。

【问题讨论】:

    标签: ruby-on-rails ruby deployment heroku capistrano


    【解决方案1】:

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

    Heroku 为基本部署提供了最简单的解决方案之一。你不需要 capistrano,只需要 git。 (他们提供了一个工具集来协助)。只需 git push heroku master。同样不错的是,heroku 上的简单部署是免费的;您可以在实际需要时购买更多电量。

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

    Capistrano 是一组帮助构建部署环境的方法,有点像 rake 任务。它以非常有条理的方式执行此操作,并允许轻松回滚。您定义主机、它们的角色,然后配方使用 ssh 和 scp 来设置环境。 (服务器还必须准备好通过乘客等方式接受 Rails 应用程序)

    【讨论】:

    • 谢谢!我的预算很少,想要更多关于部署的控制和知识以及它的所有功能......所以我猜 Heroku 不适合我......所以基本大纲是,找一台旧电脑,让它成为一个 unix使用 Capistrano 的机器上的服务器和主机?
    • Heroku 对小流量是免费的,未经您的许可不会向您收费;它实际上非常适合简单的初始部署。请记住,这两个选项都用于托管其他人可以到达的地方; heroku 负责所有服务器管理,而在做自己的服务器和 capistrano 时,您还必须学习整个系统管理工作。对于开发,您也不需要;只是在当地发展。如果你想学习hosting的具体细节,那肯定用nginx或者apache+passenger做一个linux盒子,然后用capistrano来部署。
    • 我会选择第二个 Heroku。默认转到托管。
    【解决方案2】:

    Rails 和 Ruby 世界非常嘈杂,所以我理解您的困惑。

    归根结底,您需要 服务器 上的 Rails 应用

    现在,即使是术语 server 也可能有点令人困惑,因为它通常与

    1. 远程机器
    2. 处理 HTTP 请求的程序。 (例如您在计算机上开发并输入 rails s 时启动的 webrick 或 Thin

    在您的情况下,您实际上需要一台远程计算机(连接到网络),该计算机正在运行一个称为服务器的程序来处理 HTTP 请求并将这些请求转发到您的应用程序,该应用程序进而产生一个请求...

    Heroku 会帮助你解决这个问题。 (但是 Heroku 增加了几层抽象。所以它不像你有一台计算机坐在 heroku 办公室的某个地方,为你的应用程序服务。) Heroku 使用 git 和 rails 设置起来非常简单。 最后,将您的应用程序发送到“远程服务器”所需要做的就是一个简单的 git push。

    阅读https://devcenter.heroku.com/上的初学者文章

    我现在也建议:忘记 Capistrano

    哦,您可以将 AWS(或者可能是 S3) 视为某种外部硬盘驱动器,您的应用可以使用它来存储更​​大的数据(如图像、视频等)

    【讨论】:

    • 感谢您澄清服务器部分 :) 我还评论了上面的其他人,所以请检查并希望得到您的反馈 :)
    【解决方案3】:

    我有一个部署指南,其中包含一个支持 Nginx + RVM + Unicorn 的良好 shell 脚本:deploy_rails

    【讨论】:

    • “Heroku、AWS、Capistrano”怎么样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2010-09-30
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多