我正在使用http://community.opscode.com/cookbooks/nginx在Vagrant上安装Nginx
我希望Nginx从我的配置文件/home/vagrant/nginx/nginx.conf
开始,但它似乎坚持使用etc/nginx/nginx.conf
我的Vagrantfile的相关部分是:
chef.add_recipe "ohai"
chef.add_recipe "runit"
chef.add_recipe "nginx"
chef.json = {
:nginx => {
:install_method => "source",
:source => {
:version => "1.4.1",
:conf_path => "#{VAGRANT_HOME_DIRECTORY}/nginx/nginx.conf",
}
}
}
这里发生了什么?
答案 0 :(得分:5)
我按照以下要求安装和配置nginx。这是我安装和配置nginx的方法:
include_recipe "apt"
apt_repository 'nginx' do
uri 'http://nginx.org/packages/ubuntu/'
distribution node['lsb']['codename']
components ['nginx']
key 'http://nginx.org/keys/nginx_signing.key'
deb_src true
end
apt_package 'nginx' do
action :install
end
file "/etc/nginx/nginx.conf" do
action :delete
end
cookbook_file "/etc/nginx/nginx.conf" do
source "nginx.conf"
action :create
end
service "nginx" do
action :start
end
说明:
sources.list
下配置nginx仓库。这需要提供apt_repository
LWRP的apt食谱,/etc/nginx/nginx.conf
并使用cookbook_file
复制预定义的nginx.conf
。我已根据我的要求配置files
并将其保存在食谱的{{1}}目录下。底线,我不使用nginx cookbook安装nginx;相反,我将它作为一个包安装,然后根据我的需要进行配置。