Vagrant / chef - nginx cookbook 扩展

Vagrant / chef - nginx cookbook 扩展

我对使用 chef 还很陌生,尤其是使用 vagrant,所以对于更有经验的用户来说,这很可能是一个愚蠢的问题。

我正在使用这本食谱:https://github.com/opscode-cookbooks/application_nginx

我只是想添加我自己的站点配置(vhost)。

它必须是下列之一:

  1. 将我自己的菜谱和模板直接添加到菜谱中
  2. 创建我自己的食谱,以某种方式扩展 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

相关内容