Capistrano部署在多台机器上

时间:2014-12-18 16:08:25

标签: ruby-on-rails ruby-on-rails-4 deployment capistrano capistrano3

我想部署我的rails应用程序。我有一台带有nginx的机器,两台Web服务器和一台我用作数据库服务器的机器。不幸的是,当我到达deploy:migrate时,它不起作用,因为capistrano尝试在我的数据库服务器计算机上找到rails应用程序“/ home / user / apps / MyApp / releases / 20141218160125”的目录。我不想在那里有一个rails应用程序。我想将这台机器仅用作数据库服务器。我是否也可以在那里上传我的rails应用程序,但是不能在我的nginx配置中使用它?是否可以更清楚地做到这一点 - 就像数据库服务器和应用程序的代码在用作应用程序服务器的机器上一样?谢谢!

1 个答案:

答案 0 :(得分:1)

完全从capistrano中排除数据库服务器。没有必要为它部署任何东西。

您的config/database.yml已配置为已连接到数据库,因为您的Web服务器在正常操作期间必须与数据库通信。

您需要做的就是将db capistrano角色分配给其中一个Web服务器。这是我的配置的样子。数据库完全在另一台服务器上。

server 'carnoustie.supremegolf.com', user: 'carl',    roles: %w{db web}
server 'standrews.supremegolf.com',  user: 'carl',    roles: %w{web}