1

我是厨师的新手。我刚刚创建了一个部署 node.js 应用程序的说明书,配置 Nginx,然后将应用程序作为 1 个或多个由 Nginx “负载平衡”的工作人员启动。它工作得很好。我确保保持它非常通用,并且所有应用程序级别的配置都是通过属性完成的。

现在我正在尝试考虑一个实例,其中我有多个 node.js 应用程序在同一台服务器上运行。例如,主 API 应用程序和另一个注册为 Gearman 工作者的应用程序。

我该怎么做呢?我是否会简单地创建另一个特定于该应用程序的食谱,确保它包含通用食谱的食谱,然后仅为该应用程序的食谱进行属性覆盖?

或者,如果我不再使用应用程序配置的属性,而是使用 data_bags 会更好吗?

任何帮助表示赞赏。

4

2 回答 2

1

我会将 nginx 和 node.js 安装/配置分离到单独的说明书中。

如果您必须在 node.js 上运行多个不同的应用程序,我认为可以为 node.js 说明书中的每个应用程序添加一个配方,并确保每个应用程序都包含 node.js 本身的安装。

如果你必须有多个实例 1 并且运行相同的应用程序/服务,那么最好使用具有不同属性或数据包的一个配方来引入实例之间的差异。

还有更具体的问题吗?

于 2012-12-30T17:20:43.463 回答
0

您应该使用角色角色来管理服务器上的多个说明书。

我不太确定你的情况,但根据你的描述,我会创建 3 本食谱。一种安装 nginx,一种安装您的应用程序,另一种进行节点特定配置和部署。将这些捆绑到角色“app_server”中,并将角色放入 run_list。

这使您的应用程序更具可组合性,并且将来更容易更改任何部分。

于 2012-12-31T23:43:34.163 回答