我刚接触rails,一直在网上搜索部署指南--它非常零散。我看到一些建议部署为支持sudo的用户。出于安全考虑,我想你会创建一个没有sudo权限的用户来运行这个应用程序。它需要自己的主目录来存放RVM和bundler,但是拥有sudo权限似乎是多余的,而且存在安全风险。我手动完成了这一切,因为它是一个棘手的测试级应用程序,部署它还不是很简单,所以capistrano在这一点上只是一层模糊的东西。
我使用thin作为服务器,Nginx作为代理,redis和Postgres作为数据库。发条和sidekiq也是。
发布于 2013-04-07 09:55:15
Capistrano似乎有很多工作,即使对于一个小项目,但如果您希望应用程序不断增长(因此部署的复杂性也会增加),那么无论如何都值得进行设置。
我个人喜欢将特定于发行版的Ruby (和gem)分离到特定于应用程序的RVM部署的想法。此外,要求bundler管理gem依赖项并确保合规性是无价的。我不建议为该用户启用sudo;它会将从HTTP请求到根级OS控制的整个堆栈公开。应用程序不应该需要管理访问权限,而部署脚本可能需要。
发布于 2013-04-07 09:51:37
如果你是Rails的新手,我会推荐一些简单的东西给你的第一次部署。Heroku允许你通过简单的git推送到他们的存储库来部署应用。他们处理所有必要的步骤,使您的应用程序在互联网上可用。最棒的是,只要你不需要大量的资源,它就是免费的。
EngineYard是另一个托管解决方案,它在灵活性(和成本)方面很容易部署到Heroku,也可以从Heroku升级。
一旦你对部署生产应用感到满意,那么你就可以考虑使用自己的服务器并使用capistrano来实现终极的定制。
我在这两个环境中都有生产网站运行,而且我还没有迁移到我自己的托管服务器的麻烦。
https://stackoverflow.com/questions/15857985
复制相似问题