Você precisará adicionar uma receita à sua lista de execução que :enable
do serviço nginx. A receita nginx padrão para o upstart será apenas :start
.
Eu configurei uma caixa vagabunda com este arquivo vagrant:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "puphpet/debian75-x64"
config.vm.synced_folder "../.", "/kweetet", id: "vagrant-root",
owner: "vagrant",
group: "www-data",
mount_options: ["dmode=777,fmode=777"]
config.vm.network "forwarded_port", guest: 80, host: 8080
# install packages
config.vm.provision "chef_solo" do |chef|
chef.cookbooks_path = ["./cookbooks", "./dk_cookbooks"]
chef.add_recipe "nginx"
chef.json = {
"nginx" => {
"init_style" => "upstart"
}
}
end
end
Quando eu vagrant up
a máquina pela primeira vez, o serviço nginx é iniciado automaticamente, porque o provisionamento é executado. Mas quando eu halt
a máquina e up
novamente, eu tenho que iniciar manualmente o servidor nginx.
Então, minha pergunta é: como configurar minha receita nginx para iniciar o nginx automaticamente na inicialização do sistema?
UPDATE
Eu incluí isso em uma receita personalizada, como sugerido bu Tejay, mas não funciona:
# make a daemon for nginx
service 'nginx' do
action :enable
end
Quando eu paro minha máquina e a reinicio, o nginx não é iniciado automaticamente. Minha receita personalizada está incluída na lista de execução vagante, e tenho certeza de que ela é executada corretamente, porque outras ações nela são executadas bem.
Alguma idéia?
Você precisará adicionar uma receita à sua lista de execução que :enable
do serviço nginx. A receita nginx padrão para o upstart será apenas :start
.
Estranho, mas quando eu coloco assim na minha receita personalizada, funciona:
service 'nginx' do
action [ :enable, :start ]
end
Eu pensei em definir a ação :enable
sozinha, foi suficiente para iniciar o servidor na inicialização