我开始使用 Chef,并且已经完成了一些很棒的工作。不过,我有点不知道如何使用 Apache2 配方来配置虚拟主机。我要设置 5 个主机,我想知道存储这些配置数据的最佳位置在哪里以及配方如何调用它们。
我是否将它们存储在数据包中?如果是这样,那么我该如何使用这些数据?我是否设置另一个调用 web_app 或 apache_site 定义的配方来创建它们?
关于如何进行此类修改,Chef 文档说明得有些单薄。
答案1
我认为实际上将其存储在哪里并不重要,但这取决于您需要做什么。数据包是全局可用的,因此您的所有配方都会看到它,但可以按服务器、按角色或按环境设置属性。
我个人会将其放在角色级别属性中。这样您就可以创建一个角色,该角色将部署某个 Web 应用程序及其所有依赖项。只需循环遍历该属性并针对该角色属性中的所有应用程序调用 apache_site。然后在角色中放入一些配方来安装 php/apache/mysql/whatever 以满足该站点的要求。