Программирование

Как создать виртуальную среду веб-разработки и сервер

Как создать виртуальную среду веб-разработки и сервер

За последние несколько лет Windows и Mac OSX добились успехов в качестве удобных для разработчиков ОС, но каждый веб-разработчик действительно должен работать в собственной веб-среде, Linux.

В этой статье вы узнаете, как получить лучшее из обоих миров: использовать стабильную и удобную для пользователя ОС, такую ​​как Windows или OSX, для своих повседневных нужд, а также пожинать плоды разработки в той же экосистеме, что и производственный код.

Введение

Большая часть Интернета работает на том, что разработчики называют «стеком LAMP». Этот аббревиатура означает Linux, Apache, MySQL, PHP, объединенные вместе и работающие как то, что вы обычно понимаете как веб-сервер. (Тесно связанный стек — или набор технологий — это «LEMP», где «E» происходит от произношения альтернативы Apache, Nginx, которое называется «engine x».)

Вы можете заметить, что Linux здесь явно включен, но не только по этой причине Linux рекомендуется разработчиками. Другие технологии — Apache (или Nginx), MySQL и PHP — имеют разные инструменты и реализации, доступные для разных платформ, но по историческим и техническим причинам конфигурации на основе Linux доминируют в серверном пространстве и имеют тенденцию быть более предсказуемыми.

Как создать виртуальную среду веб-разработки и сервер tux logo 150x150

Предсказуемость и надежность также являются важными причинами, по которым вам нужно разрабатывать операционную систему, которую вы используете исключительно для этой цели — выделенную операционную систему, а не ту, которая поддерживает множество задач, которые вы выполняете ежедневно в качестве веб-разработчика. Другими словами, вы не хотите запускать сервер в той же операционной системе, которую необходимо перезагрузить, когда установлены новые графические драйверы, или на машине, которую вам нужно будет упаковать и положить в рюкзак, чтобы поразить дорога с. Одним словом, использование процессов и программного обеспечения, необходимых для запуска сервера на вашем многофункциональном компьютере, является грязным.

Итак, как вы уравновешиваете свою способность к многозадачности с необходимостью разработки в собственном контексте ваших приложений?

Введите виртуальные машины

Виртуальные машины и бродяги

Виртуальные машины — это программы, которые запускаются в вашей основной операционной системе. Они эффективно позволяют вам запускать совершенно отдельную операционную систему внутри окна, полностью изолированную от всего, что происходит с вашей физической машиной, но за счет некоторых накладных расходов.

Однако преимуществ много:

  • Сделать ошибку при установке, настройке или удалении программного обеспечения? Ничего страшного, вы можете просто начать заново с новым изображением.
  • Ваш эксперимент катастрофически провалился и заморозил операционную систему вокруг него? Опять же, не проблема, потому что воздействует только на виртуальную машину.
  • Вам нужно повторять в немного других условиях? Каждый набор условий, например, разные версии программного обеспечения или различное программное обеспечение (например, использование Apache против Nginx), может стать отдельной машиной программного обеспечения или виртуальной «коробкой».

виртуальная машина Linux

Инструмент под названием Vagrant поможет вам развернуть «базовые блоки», которые содержат предварительно сконфигурированные операционные системы Linux в различных вариантах.

В этой статье предполагается, что вы имеете некоторый комфорт при работе с виртуальной машиной без графического интерфейса и исключительно с помощью интерфейса командной строки (CLI).

Давайте получим поставщика виртуальной машины и Vagrant, прежде чем настроим базовый блок.

  1. Убедитесь, что у вас есть поставщик виртуальных машин для вашей ОС. Как Windows, так и Mac OSX могут использовать Virtual Box. VMware также работает на обеих платформах. ( Windows 10 Pro и более поздние могут использовать Hyper V. , это шаг вперед, потому что он лучше использует оборудование.)
  2. Посетите Vagrantup.com и выберите подходящий установщик.
  3. В вашей структуре дерева локальных каталогов создайте новую папку для размещения коробки. (Местоположения, подчиненные вашему профилю пользователя, работают хорошо, местоположения в системных каталогах обычно не работают.)

Конфигурация среды веб-разработки

Вот где происходит магия автоматичности: инструмент под названием PuPHPet уплотняет и графически настраивает процесс выбора и настройки программного обеспечения, обычно используемого в LAMP , и даже выходит за рамки этого, добавляя поддержку серверных языков, таких как Ruby и Node.js. (технически JavaScript не является чисто серверной частью, но это разнообразие), и альтернативы другим компонентам стека LAMP.

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

Как создать виртуальную среду веб-разработки и сервер PuPHPet 670x279

  • Цель развертывания — здесь вы можете выбрать, хотите ли вы создать образ, подходящий для VirtualBox, VMWare и т. П., Или образ, подходящий для инфраструктуры облачных вычислений, такой как AWS или Digital Ocean, среди прочих.
  • Система> Пакеты — вы можете включить любое программное обеспечение, которое вы устанавливаете, как при обычной установке. В частности, вы должны включить любые пакеты, которые вы используете для разработки, которые включены в базу дистрибутива ОС.
    • Чтобы включить зависимости разработки для Ubuntu, укажите build-essentials
    • Чтобы включить то же самое для CentOS 7, укажите "Development Tools"
  • Веб-серверы — выберите Apache или Nginx, чтобы сформировать основу вашего L (A | E) MP стека.
  • Языки — PHP, Ruby, Node.js, Python.
  • Базы данных. Возможно, одной из наиболее привлекательных особенностей этого подхода является способность создавать виртуальные машины для работы с различными вариантами доступных баз данных. Хотя по умолчанию используется MySQL, вы можете поиграть с чем-то более новым, например с MariaDB
  • Остальные опции несколько экзотичны, и если вы не знаете, что это такое, их всегда можно установить позже. В конце концов, у вас есть полноценная операционная система.

В конце этой конфигурации PuPHPet создаст архив. Разархивируйте его в каталог, который вы создали, перед настройкой параметров вашего нового сервера.

Теперь выполните следующее:

 $ vagrant up 

И понаблюдайте за результатами:

Как создать виртуальную среду веб-разработки и сервер vm 670x245

Поскольку у вас нет базового блока в вашем локальном каталоге, vagrant будет извлекать изображение из Atlas, хранилища предварительно сконфигурированных блоков vagrant.

(Технически, любой из них может быть добавлен на ваш локальный компьютер с помощью команды: $ vagrant box add USER/BOX )

Завершение

На этом этапе ваша виртуальная машина загружается, и вы в основном онлайн. Остается только одно: введите команду $ vagrant ssh чтобы перейти в нужный сеанс SSH с вашей (безголовой) виртуальной машиной, действующей как сервер LAMP. Congrats!

Выучить больше

С этого момента в Vagrant можно еще многое рассказать и сделать, и, как вы знаете, неограниченное количество достижений на вашей собственной игровой площадке. Посмотрите официальное руководство по началу работы, чтобы узнать, где я остановился.

Вы когда-нибудь использовали виртуальную машину для собственной среды разработки? Вы использовали эту настройку или использовали другой подход? Поделитесь своими идеями в комментариях ниже!

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика