我正在尝试找出添加 nginx 服务器作为我的 node.js AWS OpsWorks 机器代理的最佳方法。我一直无法让它工作,因为 Chef/OpsWorks 似乎找不到食谱。这是我的设置:我正在使用 node.js 层,并为 nginx 的厨师食谱创建了一个 git repo。我已启用自定义配方,并且已成功使用此 repo 中的自定义 HAproxy 属性文件。 repo 的结构如下:

nginx-custom
 --recipes
 --templates
 --attributes
haproxy
 --attributes

奇怪的是 HAproxy 覆盖工作。 nginx 说明书基本上是从 OpsWorks 版本复制粘贴的,带有我自己的一些属性(也许 b/c 这是一本完整的说明书是问题?)。因此,当我尝试将 nginx-custom 说明书作为设置步骤的一部分运行时(我已将说明书的名称添加到设置步骤中,并使用默认配方,如“nginx-custom::default”),我得到了“没有这样的食谱”错误。我尝试将它作为具有 sam 结果的独立命令运行。我做错了什么吗?我应该为此使用 Berkshelf 吗?我应该制作自定义图层而不是尝试修改现有图层吗?任何帮助表示赞赏。谢谢你。

最佳答案

即使您启用了自定义配方,您是否已将 OPsWorks 配置为转到您的 GIT 存储库?

http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable.html

例如,如果您的 GIT 存储库在 Github 上,您还必须授权亚马逊使用正确的 SSH key 访问您的存储库。

还要确保 nginx 具有运行所需的所有依赖项。将食谱放在 tar.gz 中并将其上传到 S3 以使用可能会更容易。

关于node.js - 没有这样的说明书——OpsWorks 找不到自定义说明书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27495982/

10-11 06:29