在厨师中,你如何覆盖node.json中的默认属性值

我正在厨师独奏与chef-solo -c solo.rb -j node.json -ldebug它失败,因为nginx食谱/食谱是指用户“万维网数据”,我没有。 我可以更改node.json文件中的值吗? 我的node.json看起来像这样:

 { "nginx": { "user": "my_username" }, "run_list": [ "recipe[nginx]", "recipe[mysql::server]" ] } 

我的问题是 Opscode nginx配方似乎忽略此设置。

是的 🙂

www-data只是一个在debian(和debian-like系统)上运行web服务器的默认用户。 把它改成除root之外的东西,你应该没问题。 对于没有www-data大多数发行版,有一个httpd用户,否则你nobody

如果你在窗户上,然后使用适当的用户。

-j选项一起传递给chef- {client,solo}的“json_attribs”文件旨在代表“默认”节点对象,类似于执行knife node create FOO会发生的情况。 knife node create FOO创build新的空白厨师服务器上的节点。 要覆盖食谱中的属性,应该将其应用于angular色。

厨师独奏可以使用angular色。 您必须在configuration文件中指定role_path

http://wiki.opscode.com/display/chef/Chef+Solo#ChefSolo-Roles