Как использовать vagrant на нескольких проектах
Я новичок в Vagrant и пробую PuPHPet, чтобы все заработало. Я могу запустить и запустить Debian Box и ssh. Это больше рабочий процесс, который мне неясен.
В данный момент я загружаю конфигурацию PuPHPet в папку с именем vagrant
что я могу cd/
в и бежать vagrant up
затем vagrant ssh
, Что меня смущает, так это то, что я делаю это неправильно с точки зрения того, где я разместил файлы.
Загружаете ли вы настроенные файлы отдельно для каждого проекта, прямо в каталог проекта? Или я могу загрузить это в каталог, например C:/sites/vagrant
а затем этот каталог запускает мою среду, а файлы конфигурации указывают на папки проекта, такие как C:/sites/project_one
,
На мой взгляд, PuPHPeT настроил то, что потом будет использоваться для всех проектов, если я захочу сделать это в Debian в соответствии с тем, что я выбрал через графический интерфейс. Но я действительно запутался!
1 ответ
Короткий ответ
Я рекомендую вам хранить файлы PuPHPet, полученный Vagrantfile и его среду в каталоге, отдельном от каталога файлов вашего сайта (исходного), потому что это кажется мне более организованным и безопасным. Прекрасно настроить новую виртуальную машину для каждого проекта, но я предпочитаю настроить одну единственную коробку Vagrant и сделать так, чтобы она обслуживала все мои проекты сразу, поэтому я не буду постоянно ставить коробки вверх-вниз, так как я переключаться между проектами.
объяснение
Для этого настройте "Пары общих папок" на PuPHPet.com для сопоставления вашего источника папок (/source/code/path/name
где ваши исходные файлы находятся на вашем главном компьютере) к папке назначения (/destination/path/name
на виртуальной машине, сгенерированной Vagrant, где ваш веб-сервер, сгенерированный Vagrant, может их найти) для каждого из ваших проектов ( снимок экрана). Настройте веб-сервер (используя страницу конфигурации веб-серверов PuPHPet) для ссылки на такой /destination/path/name
каталоги, которые сопоставляют эти рабочие файлы с используемым именем сервера, псевдонимом сервера и корнем документа.
В качестве предупреждения НЕ используйте /var/www
папка непосредственно как цель папки. В некоторых конфигурациях это приведет к сбою установки Apache при подготовке к работе с Vagrant.
в config.yaml
файл, созданный PuPHPet, вы увидите такие записи:
synced_folder:
vflsf_12randomlettersandnumbers:
source: /Users/unrivaled/www-development-source-files
target: /var/www/dev
На PuPHPet.com, где вы настраиваете свою среду, есть раздел, где вы настраиваете "Пары общих папок". Здесь вы сообщаете Vagrant, где сейчас находятся ваши файлы (на вашем главном компьютере), и где вы хотите, чтобы они появлялись в виртуализированной среде, созданной Vagrant.
Здесь важно понять, как я употребляю слова "есть" и "появляются".
Ваши файлы "находятся" на вашем компьютере - тот, который вы предположительно используете для редактирования и отладки своих проектов, и из которого вы хотите запустить PuPHPet для размещения веб-сервера, сгенерированного Vagrant. Это ваша "хостовая" операционная система, и ваши файлы разработки (исходный код) всегда будут просто находиться здесь. Вам никогда не потребуется копировать их назад и вперед между вашим основным компьютером и сгенерированным Vagrant веб-сервером.
Напротив, ваши файлы "появляются" на сгенерированном Vagrant веб-сервере, созданном при запуске vagrant up
, которая генерирует "гостевую" операционную систему в виртуализированной среде, созданной Vagrant, в которой работают веб-сервер, механизмы баз данных и т. д. Обратите внимание, что вы не копируете файлы туда (в "гостевую" операционную систему). Вместо этого Vagrant заставит их появиться там для вас, согласно вашему использованию "пар общих папок", упомянутых ранее:
Папка Source представляет местоположение на вашем главном компьютере (в операционной системе "host"), где находятся ваши исходные файлы.
Папка Target представляет местоположение на вашем виртуальном компьютере ("гостевая" операционная система), где вы хотите, чтобы Vagrant сделал их видимыми в гостевой ОС.
Таким образом, вы просто редактируете свои файлы в своей среде разработки, где бы они ни находились сейчас; и Vagrant позаботится о том, чтобы ваш веб-сервер, сгенерированный Vagrant, мгновенно, в реальном времени, видел эти файлы. Даже если ты vagrant destroy
В этой сгенерированной среде веб-сервера ваши исходные файлы не будут затронуты. Просто воссоздать новую среду (vagrant up
) и бац! Вот и ты. Снова в деле.