如何在vagrant上使用chef solo配置nginx?
我有一个引导正常的流浪VM,我通过以下方式为它提供了nginx:如何在vagrant上使用chef solo配置nginx?,nginx,chef-infra,vagrant,Nginx,Chef Infra,Vagrant,我有一个引导正常的流浪VM,我通过以下方式为它提供了nginx: config.vm.provision "chef_solo" do |chef| chef.add_recipe "nginx" 启动时,nginx已安装并正在运行。完美的(我使用Berkschelf管理食谱,其中一本来自opscode) 现在我想实际配置nginx,在本例中是作为反向代理运行的。我似乎不知道该怎么做。我可以准备一个conf文件并将其发送到VM,但我确信还有另一种方法可以利用这个食谱。最好的选择是能够直接从Va
config.vm.provision "chef_solo" do |chef|
chef.add_recipe "nginx"
启动时,nginx已安装并正在运行。完美的(我使用Berkschelf管理食谱,其中一本来自opscode)现在我想实际配置nginx,在本例中是作为反向代理运行的。我似乎不知道该怎么做。我可以准备一个conf文件并将其发送到VM,但我确信还有另一种方法可以利用这个食谱。最好的选择是能够直接从Vagrant文件中按照上面描述的方式配置它。可能使用此处描述的自定义json数据。
它看起来像:
chef.json = {
"nginx" => {
但是对我来说,烹饪书的页面有点神秘,有一些有趣的选择,但我不知道如何包括/使用它们 如果要将nginx配置为反向代理,则需要编写一个调用
cookbook\u文件
资源或模板
资源的食谱。我建议使用后者,因为它以后会更灵活,并且会为您提供一个可重用的模板,供其他食谱使用
我建议您阅读以下文档:
如果你想从一本真正的食谱中看到一个反向代理的例子。请看这里:
希望这能有所帮助。这对我来说很有用:
Vagrant.configure("2") do |config|
config.vm.box = "opscode-ubuntu-14.04"
config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box"
config.omnibus.chef_version = :latest
config.vm.provision "shell", inline: "echo 'set nocp' > /home/vagrant/.vimrc"
config.vm.define "nginx" do |nginx|
nginx.vm.network "private_network", ip: "192.168.33.14"
nginx.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe "nginx"
chef.json = {
:nginx => {
dir: '/etc/nginx' # this is the default value, sample only
}
}
end
nginx.vm.provision "shell",
inline: "echo -e $1 > /etc/nginx/conf.d/nginx.conf",
args: [<<-EOS
server {
listen *:80;
location ~ ^/ {
proxy_pass http://192.168.33.11:8080;
}
}
EOS
]
end
你看过GitHub上的文档了吗:Chef社区网站的格式对于阅读烹饪书的自述不是特别好。试着在“谢谢你的评论”。事实上,它更容易阅读,但我还没有理解这个文件的格式。任何文档或示例都将不胜感激。请注意,我仍然需要一次随意的重新加载来重新加载nginx.conf配置。
https://github.com/opscode-cookbooks/nginx
https://github.com/opscode-cookbooks/build-essential
https://github.com/opscode-cookbooks/ohai
https://github.com/opscode-cookbooks/bluepill
https://github.com/opscode-cookbooks/rsyslog
https://github.com/hw-cookbooks/runit
??
https://github.com/opscode-cookbooks/yum