Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 什么';capistrano/rails中:web和:app组的区别是什么_Ruby On Rails_Capistrano - Fatal编程技术网

Ruby on rails 什么';capistrano/rails中:web和:app组的区别是什么

Ruby on rails 什么';capistrano/rails中:web和:app组的区别是什么,ruby-on-rails,capistrano,Ruby On Rails,Capistrano,我正在继承的rails应用程序中设置不同的capistrano组,我想知道capistrano/rails中的:app组和:web组有什么不同。据我所知,他们也做同样的事情。Capistrano的角色帮助您仅在某些服务器上运行任务(如果您有多台服务器)。在您的情况下,您可以使用capistrano-sidekiqgem并创建一个capistrano角色(基本上是一个服务器),该角色只运行以下sidekiq作业: set :sidekiq_role, [:workers] 您可以阅读更多内容,我

我正在继承的rails应用程序中设置不同的
capistrano
组,我想知道
capistrano/rails
中的:app组和:web组有什么不同。据我所知,他们也做同样的事情。

Capistrano的角色帮助您仅在某些服务器上运行任务(如果您有多台服务器)。在您的情况下,您可以使用
capistrano-sidekiq
gem并创建一个capistrano角色(基本上是一个服务器),该角色只运行以下sidekiq作业:

set :sidekiq_role, [:workers]

您可以阅读更多内容,我找不到任何关于这方面的好文档,因此我尝试提供以下内容:

角色是相关的,但不同的任务使用不同的角色

数据库和迁移任务在具有
db
角色的服务器上运行

资产任务在具有
web
角色的服务器上运行

捆绑任务在所有服务器上运行

乘客服务器任务在具有
app
角色的服务器上运行

在没有彻底检查cap gem的情况下,我认为大多数部署任务默认在所有角色上运行

好消息是,其中大部分是可配置的,例如,建议:
设置:迁移角色,:app
,并且对于
资产角色
乘客角色
捆绑角色
也有类似的角色配置

从上面可以看出:

  • web角色用于前端代理服务器,即apache/nginx
  • 应用程序角色用于应用程序服务器,即乘客/puma
  • db角色用于数据库服务器,但实际上不建议使用它()
  • 假设代码将部署到所有角色

对于所有内容都在一台服务器上的最基本设置,您可能希望配置该服务器上的所有角色。

正确。我的问题实际上是关于
capistrano/rails
中的不同任务。那么,如果我有一个
:app
服务器和一个
:web
服务器,那么每个服务器上都安装了rails的哪些部分?(我删除了sidekiq部分,因为这是一条红鲱鱼)。谢谢