0

我是 Rails 新手,一直在网上搜索部署指南 - 它非常分散。我看到一些建议部署为启用 sudo 的用户。出于安全原因,我在想您会创建一个没有 sudo 权限的用户来运行该应用程序。它需要它自己的 RVM 和捆绑器主目录,但拥有 sudo 权限似乎是多余的并且存在安全风险。我都是手动完成的,因为它是一个棘手的 beta 级应用程序,部署它还不是很简单,所以 capistrano 在这一点上只是一个混淆层。

我使用 Thin 作为服务器,Nginx 作为代理,redis 和 Postgres 作为数据库。发条和sidekiq也是如此。

4

2 回答 2

1

如果您是 Rails 新手,我建议您在第一次部署时使用一些简单的方法。 Heroku允许您通过简单地向其存储库执行 git push 来部署应用程序。他们处理使您的应用程序在 Internet 上可用所需的所有步骤。最重要的是,只要您不需要大量资源,它就是免费的。

EngineYard是另一种托管解决方案,在灵活性(和成本)方面很容易部署到 Heroku 并从 Heroku 升级。

一旦您对部署生产应用程序感到满意,您就可以考虑使用自己的服务器并使用 capistrano 进行最终的定制。

我的生产网站在这两种环境中都运行,而且我还不需要麻烦迁移到我自己的托管服务器。

于 2013-04-07T01:51:37.217 回答
1

即使对于一个小项目,Capistrano 似乎也需要做很多工作,但如果您希望应用程序不断增长(因此部署的复杂性会增加),那么无论如何都值得进行设置。

我个人喜欢将特定于发行版的可用 Ruby(和 gem)分离到特定于应用程序的 RVM 部署的想法。此外,要求 bundler 管理 gem 依赖项并确保合规性是非常宝贵的。我不建议为该用户启用 sudo;它会将整个堆栈从 HTTP 请求公开到根级别的操作系统控制。应用程序不需要管理访问权限,部署脚本可能需要。

于 2013-04-07T01:55:14.907 回答