我对使用 chef 还很陌生,尤其是使用 vagrant,所以对于更有经验的用户来说,这很可能是一个愚蠢的问题。
我正在使用这本食谱:https://github.com/opscode-cookbooks/application_nginx
我只是想添加我自己的站点配置(vhost)。
它必须是下列之一:
- 将我自己的菜谱和模板直接添加到菜谱中
- 创建我自己的食谱,以某种方式扩展 nginx 食谱,以仅添加我需要的特定行为。
选项 1 对我来说似乎不正确,而且我不知道如何在不必完全分离食谱的情况下完成选项 2。
有人能告知如何实现这一点吗?
答案1
如果你只是想通过 nginx 配置虚拟主机,你可能需要使用nginx食谱。应用程序_nginxcookbooks 不能直接使用;相反,它是应用cookbook。如果你刚刚开始使用 chef,我建议你暂时不要使用应用程序 cookbook,因为它的使用有些复杂。
正确的做法是创建自己的 Cookbook 来配置您的网站,并从其中使用 nginx Cookbook。将第三方 Cookbook 视为您自己的 Cookbook 中使用的通用库,而不是您为特定于您的应用程序而分叉和修改的东西。
例如,你的食谱中的默认菜谱可能是:
# run the nginx::default recipe to install nginx
include_recipe "nginx"
# deploy your sites configuration from the 'files/' directory in your cookbook
cookbook_file "#{node['nginx']['dir']}/sites-available/example.com" do
owner "root"
group "root"
mode "0644"
end
# enable your sites configuration using a definition from the nginx cookbook
nginx_site "example.com" do
enable true
end