nginx na caixa vagrant não inicia automaticamente

1

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?

    
por Ernie 19.01.2015 / 16:44

2 respostas

0

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 .

    
por 20.01.2015 / 04:15
0

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

    
por 22.01.2015 / 14:43