0

对于需要扩展的应用程序,需要在不同时间部署应用程序的多个实例。

staging.theapp.tld (for admin testing)
sandbox.theapp.tld (for user testing, actually in development mode for better logging)
theapp.tld (actual production mode. To be run with and without 'www.' prefix)

部署需要以以下三种方式之一进行:
- 单独登台(在生产模式下测试东西)
- 登台 + 沙箱
- 沙箱 + 实际生产模式

生产模式将有多个实例:一个主服务器和任意数量的 VPS 从属服务器——比如说两个。因此,

master.theapp.tld
vps1.theapp.tld
vps1.theapp.tld

在下面,postgresql 正在运行主从进程,用于将数据更新到 VPS。

考虑到涉及的变量数量,以及缺乏设置多个服务器的经验,搞砸作品的可能性呈指数级增长……该应用程序的相关组件是:

gem 'capistrano', '2.14.2'
gem 'rvm-capistrano', '1.2.7'
gem 'pg', '0.17.1'

应该如何配置 capistrano?

4

1 回答 1

0

这是一个非常广泛的问题。我只能建议几件事,而不是提供具体的答案:

  • 切换到capistrano3. 自发布以来已经有一段时间了。
  • 考虑使用一些capistrano 插件,而不是从头开始
  • capistrano-unicorn-nginx几乎以最少的配置支持您在帖子中提到的所有内容:单个服务器上的多个应用程序以及多服务器支持。
  • capistrano-postgres还支持单服务器和多服务器配置。它尚不支持 postgresql 主从设置,因此这部分必须自己完成。
于 2014-10-06T21:53:48.737 回答