对于需要扩展的应用程序,需要在不同时间部署应用程序的多个实例。
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?