1

Я установил бродячее окно с этим vagrantfile:

# -*- 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

Когда я vagrant up по машине в первый раз, служба nginx запускается автоматически, потому что подготовка выполняется. Но когда я halt машину и снова up ее, мне пришлось вручную запустить сервер nginx.

Итак, мой вопрос: как настроить мой рецепт nginx, чтобы он автоматически запускал nginx при запуске системы?

ОБНОВИТЬ

Я включил это в пользовательский рецепт, как это было предложено, но это не работает:

# make a daemon for nginx
service 'nginx' do
  action :enable
end

Когда я останавливаю свою машину и перезагружаю ее, nginx не запускается автоматически. Мой пользовательский рецепт включен в бродячий список выполнения, и я уверен, что он работает правильно, потому что другие действия в нем работают хорошо.

Есть идеи?

2 ответа2

0

Вам нужно будет добавить рецепт в свой список запуска, который будет :enable службу nginx. Рецепт nginx по умолчанию для upstart будет только :start его.

0

Странно, но когда я добавляю это в свой рецепт, это работает:

service 'nginx' do
    action [ :enable, :start ]
end

Я думал, что установка :enable действие в одиночку, было достаточно, чтобы запустить сервер при загрузке

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .