【问题标题】:How to add web folder to chef's private nginx?如何将 web 文件夹添加到厨师的私人 nginx?
【发布时间】:2017-01-10 05:11:08
【问题描述】:

在我的 Chef 食谱中,我使用 remote_file 来访问 http 服务器上的文件。我想使用 Chef 服务器的 ngnix 来提供这些文件。 如何配置 Chef 的 nginx 以使用 http 提供特定文件夹中的文件?

【问题讨论】:

  • 这是一个非常糟糕的主意。 1) 这不是受支持的功能。 2)如果您坚持并调整它,它将在任何更新时中断。 3) 使用像 nexus 或 artifactory 这样的真正的工件管理器,或者使用独立的 nginx/apache 来提供这些包,稍后你会感谢自己的。

标签: nginx chef-infra


【解决方案1】:

这不是 Chef 的功能。您可以使用说明书中的 files/ 文件夹和 cookbook_file 资源直接从 Chef 服务器提供文件,但它非常有限,您应该真正使用自己的服务器来管理大型文件或复杂的下载。

【讨论】:

    【解决方案2】:

    我们在 LAN 中有许多机器要配置 Chef。我们的食谱中还有许多 remote_file 资源。问题是:从互联网下载需要很长时间,但同时该文件在局域网中的另一台机器上可用。

    我所做的是:

    • 为二进制文件存储安装了 Nexus。
    • Monkeypatched remote_file 资源使用食谱中的库,因此每次加载食谱时都会加载它,覆盖原始资源行为。

    现在每次 remote_file 资源必须下载一些文件时,它都会首先询问 Nexus。如果该文件在 Nexus 中可用,它会从那里下载。 如果那里没有这样的文件,Chef 会从原始源下载文件,然后也将其上传到 Nexus 以供其他节点使用。

    【讨论】:

    • 我不想再安装一个软件。维护,文档,...我希望在现有/新配置文件中获得单个条目。
    • 对我来说听起来有些复杂。只设置一个 nginx 实例应该不会那么麻烦,对吧?如果虚拟机对您来说很昂贵,让它在与 Chef 服务器相同的节点上运行,但在另一个端口上运行第二个 nginx 实例。不要摆弄 Chef Server 设置本身。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多