Статьи

Быстрый совет: включите и запустите Homestead Vagrant VM

Этот быстрый совет поможет вам начать работу с новой Homestead Improved Vagrant VM.

  • чтобы узнать о Vagrant и почему вы должны его использовать, смотрите этот пост .
  • Homestead Improved основан на Homestead , но имеет дополнительное преимущество, заключающееся в том, что он не заставляет вас иметь дело с SSH-ключами, не устанавливается глобально, более кроссплатформенен и имеет вспомогательный скрипт для автоматической настройки общих папок.
  • Я рекомендую создавать новую VM для Homestead Improved VM для каждого нового проекта, и этот урок будет следовать такой практике.

Предпосылки

Тебе нужно:

В этом руководстве предполагается, что вы будете использовать терминал, похожий на bash; Git Bash, если на Windows (поставляется с Git Tools).

Начиная

Следующие 3 команды — это все, что необходимо для запуска нового экземпляра Homestead Improved VM в любой операционной системе (очевидно, замените my_project

 git clone https://github.com/swader/homestead_improved my_project
cd my_project; mkdir -p Project/public
bin/folderfix.sh # this is optional!

Первые два клонируют проект и входят во вновь созданную папку.

Третий исполняет скрипт folderfixCode Это означает, что вы можете редактировать файлы внутри папки проекта ( my_project Это позволяет использовать текстовый редактор / IDE основного компьютера для редактирования файлов проекта внутри виртуальной машины. Вы также можете сделать это вручную, отредактировав поле папок в Homestead.yaml .

Добавить новые сайты

Существует два шага для добавления каждого нового сайта в виртуальную машину Homestead.

Шаг 1: Настройте etc/hosts

etc/hosts В Windows он находится в C:/Windows/System32/drivers/etc//etc/hosts Отредактируйте его как администратор (один из простых способов сделать это — запустить текстовый редактор, например Sublime Text as Administrator) и добавить такую ​​запись для каждого приложения, которое вы собираетесь разрабатывать:

 192.168.10.10 homestead.app

Замените homestead.app Например, у меня есть это в моем собственном файле hosts

 192.168.10.10 homestead.app
192.168.10.10 test1.app
192.168.10.10 test2.app
192.168.10.10 test3.app

Это означает, что я могу получить доступ к каждому из этих доменов в браузере через http://homestead.apphttp://test1.app

Шаг 2:

Для каждого домена, определенного на предыдущем шаге, необходимо добавить сопоставление sites Откройте файл Homestead.yaml По умолчанию это:

 sites:
    - map: homestead.app
      to: /home/vagrant/Code/Project/public

Это означает, что http://homestead.appetc/hostsindex.php/home/vagrant/Code/Project/public Вы также можете добавить этот файл, находясь вне виртуальной машины, просто создав папку Project/publicindex.php

Вы добавляете новые сайты, добавляя новую карту / в пары (столько, сколько хотите):

 sites:
    - map: homestead.app
      to: /home/vagrant/Code/Project/public
    - map: test.app
      to: /home/vagrant/Code/test

Загрузка и SSHing

После добавления всех сайтов загрузите ВМ с помощью:

 vagrant up

Войдите в виртуальную машину с помощью:

 vagrant ssh

Оказавшись внутри, вы можете использовать виртуальную машину, как если бы она была обычным сервером Linux производства или разработки.

Порты и Черный огонь

Усадьба поставляется с предустановленным Blackfire. Это очень мощный профилировщик для приложений PHP, который детально анализирует код и рисует графики сложности, которые помогают ускорить ваши приложения. Если у вас есть учетная запись, раскомментируйте линии черного огня в Homestead.yaml

Если вы хотите открыть дополнительные порты, такие как, например, порт 5000 для Heroku, раскомментируйте часть портов Homestead.yaml

 ports:
    - send: 5000
      to: 5000

Доступ к базе данных

Homestead поставляется с предустановленной MySQL. Его пользователь является homesteadsecret Чтобы подключиться к нему из внешней операционной системы (в Homestead не установлен PhpMyAdmin), используйте такой инструмент, как Sequel Pro или MySQL Workbench, и укажите следующие параметры:

  • сервер / порт: 192.168.10.10 / 3306 или 127.0.0.1 / 33060
  • пользователь: усадьба
  • пройти: секрет

База данных по homestead

Вывод

Теперь вы сможете быстро настроить новый экземпляр виртуальной машины для каждого нового приложения, которое вы намереваетесь создать. Это позволит вам легко следовать всем нашим учебникам. Пожалуйста, дайте мне знать в комментариях ниже, если какой-либо из вышеперечисленных шагов неясен или может / должен быть упрощен.

Общие проблемы

Не указан входной файл

Это означает, что сервер в виртуальной машине не может найти файл index.phpsitesHomestead.yaml Часто это происходит потому, что вы добавили новый сайт, когда виртуальная машина уже была подготовлена. Чтобы это исправить, выйдите из виртуальной машины, если вы внутри нее, и запустите vagrant provision

Если это не помогает, это означает, что у вас неправильное сопоставление в блоке sites

В качестве альтернативы, если вы работаете с приложением Symfony2, Symfony2 по умолчанию использует webpublicindex.php Вот почему Nginx не может найти файл внутри виртуальной машины. Чтобы автоматически обойти эту проблему, в Homestead.yamlsitestype

 sites:
    - map: homestead.app
      to: /home/vagrant/Code/Project/public
      type: symfony

Это будет автоматически использовать другой сценарий обслуживания .