Это последняя статья из трех статей, посвященных настройке EC2 в качестве «песочницы» для разработчиков приложений. Я предполагаю, что у вас есть аккаунт AWS с Amazon; если вы этого не сделаете, пожалуйста, прочитайте Часть 1, чтобы узнать, как легко зарегистрироваться. Я также предполагаю, что вы настроили свою среду разработки и установили AMI; если нет, пожалуйста, прочитайте Часть 2 . В этой статье мы узнаем, как установить Apache, MySQL и PHP в нашем работающем AMI, а затем клонировать AMI для создания собственного.
Настройка стека лампы
Теперь мы готовы настроить наш стек LAMP. Поскольку это выходит за рамки данной статьи и поскольку существует много точек зрения на передовой опыт, мы не станем настраивать многоуровневую экосистему. Вместо этого мы установим MySQL, Apache и PHP в нашем случае, зная, что когда мы напишем наше приложение, мы обязательно будем структурировать код так, чтобы мы могли легко изменить наш источник данных.
Во-первых, убедитесь, что мы можем делать с этим блоком все, что захотим, запустив интерактивную оболочку с правами администратора.
ubuntu @ ip-10-112-58-53: ~ $ sudo -i
Далее установите MySQL через apt-get
По пути нам будет предложено выбрать и проверить пароль root для MySQL.
root @ ip-10-112-58-53: ~ # apt-get установить mysql-сервер mysql-клиент
Затем установите Apache через apt-get
root @ ip-10-112-58-53: ~ # apt-get установить apache2
Конечно, мы также хотим установить PHP и соответствующий модуль Apache.
root @ ip-10-112-58-53: ~ # apt-get установить php5 libapache2-mod-php5
Наконец, нам нужно установить хотя бы пакет php5-mysql
Мне нравится устанавливать еще несколько… используйте apt-cache search php5
root @ ip-10-112-58-53: ~ # apt-cache search php5 root @ ip-10-112-58-53: ~ # apt-get установить php5-mysql php-pear php5-cgi php5-cli php5-общий php5-curl php5-gd php5-gmp php5-ldap php5-odbc php5- pgsql php5-snmp php5-sqlite php5-xmlrpc php5-xsl php5-imagick
Перезапустите Apache после установки всех новых пакетов.
root @ ip-10-112-58-53: ~ # service apache2 restart * Перезапуск веб-сервера apache2 ... жду ... сделано.
После того, как мы закончим, мы должны проверить исправность, чтобы убедиться, что все настроено правильно. Создайте файл с именем phpinfo.php
<?php
phpinfo();
Сейчас момент истины. Возьмите запись Public DNS, которую мы использовали ранее, вставьте ее в веб-браузер и откройте файл, который вы только что создали. Надеюсь, мы увидим вывод phpinfo()
Выплаченные дивиденды
Мы еще не закончили! Мы усердно работали над созданием надежного базового стека LAMP, поэтому давайте создадим наш собственный AMI, чтобы мы могли запустить экземпляр, идентичный только что настроенному. Для этого мы используем ec2-create-image
MacBook-Pro: .ec2 john2 $ ec2-create-image i-c795bfa6 -n лампа-стартер ИЗОБРАЖЕНИЕ ami-43b5752a
Нажмите на AMI в разделе ИЗОБРАЖЕНИЙ консоли управления EC2, и мы должны увидеть наш образ.
Теперь, когда мы успешно прошли путь от нуля до облака, давайте немного повеселимся и представим, что мы создали многоуровневое веб-приложение, которое заработало и имело огромный успех. Предполагая, что мы правильно спроектировали приложение, и игнорируя необходимые настройки балансировки нагрузки, мы можем запустить 10 новых веб-серверов с помощью нескольких нажатий клавиш.
MacBook-Pro: .ec2 john2 $ ec2-run-instances -k john2.kp - тип экземпляра m1.large -n 10 ami-43b5752a БРОНИРОВАНИЕ r-4f433b20 582155754520 по умолчанию INSTANCE i-2daa9f4c ami-43b5752a в ожидании john2.kp 0 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-2faa9f4e ami-43b5752a в ожидании john2.kp 1 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-31aa9f50 ami-43b5752a в ожидании john2.kp 2 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-33aa9f52 ami-43b5752a в ожидании john2.kp 3 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-35aa9f54 ami-43b5752a в ожидании john2.kp 4 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-37aa9f56 ami-43b5752a в ожидании john2.kp 5 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-3baa9f5a ami-43b5752a в ожидании john2.kp 6 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-3daa9f5c ami-43b5752a в ожидании john2.kp 7 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-3faa9f5e ami-43b5752a в ожидании john2.kp 8 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию INSTANCE i-01aa9f60 ami-43b5752a в ожидании john2.kp 9 m1.large 2011-08-22T04: 49: 45 + 0000 us-east-1a aki-427d952b мониторинг-отключен ebs paravirtual xen sg-f5a0899c по умолчанию
Вы увидите это действие в своей консоли и поймете, почему Amazon запросил информацию о вашей кредитной карте заранее.
На этом мы завершаем серию из трех частей по настройке изолированной программной среды разработки с Amazon EC2. Мы начали с головы в облаках и закончили с AMI в облаке. Amazon — удивительно дешевая песочница, если вы помните о ее использовании. Выключайте экземпляры, когда они не используются, и обязательно ознакомьтесь с их ценами .
Изображение через Lightspring / Shutterstock