Я думаю, что у вас есть какое-то недопонимание, и правильный ответ (со стороны) зависит от ваших точных настроек.
- Процесс разрушения коробки (ВМ) запускается через
vagrant destroy
. Это выбрасывает все данные. В вашем случае вы закрыли виртуальную машину (используяvagrant down
). - Когда вы отметили этот пост с помощью chef, кажется, что ваш сервер подготовлен через Chef, а также весь стек для запуска на нем Django, не так ли?
- Если ваши рецепты шеф-повара написаны правильно (или: с целью обновления вашего приложения), запуск инициализации обновит ваш код в виртуальной машине. В более старых версиях Vagrant (IIRC <1.3) подготовка выполняется в
vagrant reload
. В более новых версиях вам придется добавить эту--provision
опцию, однако это даже не нужно. Чтобы запустить шеф-повар, просто позвонитеvagrant provision
. Это просто запускает шеф-повара, не перезагружая всю коробку (то есть, если ваши рецепты шеф-повара верны, вообще не нужны). - Часто используемая фраза «если ваши рецепты шеф-повара верны» означает, что рецепты должны, конечно, делать то, что необходимо, чтобы не только внести изменения кода в поле, но и сделать необходимые действия, чтобы сделать их активными (очистка кешей), перезапуск сервисов и т. д.). Но это зависит от многих .. Я бы сказал, на Джанго. Если таких вещей не хватает,
down
/up
может помочь вам только потому, что он, например, остановил и запустил Apache (после перезагрузки). - Вам просто нужно убедиться, что то же самое, что вы сейчас запускаете вручную через SSH, также запускается рецептом Chef.
Я не уверен, откуда run
поступает команда. Я не мог найти ничего, связанного с Джанго.
Без дальнейшего кода, таким образом, трудно дать вам подробные советы.
Но предоставление вашего кода в виртуальную машину и перезагрузка - это своего рода вариант использования Vagrant.