Amazon Web Services предлагает бесплатный уровень использования в течение 12 месяцев, который позволяет разработчикам запускать в облаке все, что они захотят. Уровень бесплатного пользования включает 14 сервисов, из которых сервис EC2 наиболее актуален для веб-разработчиков. EC2 — это сервис, который предоставляет виртуальные вычисления с изменяемым размером путем остановки и запуска виртуальных экземпляров Windows и / или Linux. Служба Elastic Load Balancing распределяет входящий трафик между экземплярами и устанавливает новые экземпляры в случае сбоя.
В рамках бесплатного уровня можно установить микроэкземпляр Linux или Windows, выбрав предварительно настроенный образ машины Amazon. Образ устанавливается в пространство EC2, где его можно настроить, остановить и запустить при необходимости. Группы безопасности можно настроить так, чтобы пропускать трафик SSH к экземпляру, тем самым предоставляя вам root-доступ и возможность настраивать его так, как если бы он был установлен на локальном компьютере.
В этом уроке я собираюсь показать, как настроить экземпляр EC2, установить и настроить Java 7 и Tomcat 7 через SSH, используя Putty.
Чтобы завершить этот урок, я буду следовать этим шагам:
- Создайте учетную запись в Amazon Web Services
- Выберите экземпляр
- Загрузите и установите Putty
- Настроить группы безопасности
- Подключиться через SSH используя Putty
- Скачайте и установите Java 7
- Скачайте, установите и настройте Tomcat 7
- Используйте менеджер Tomcat для запуска файла WAR
Итак, начнем:
Создайте учетную запись в Amazon Web Services
Чтобы подписаться на 12-месячное бесплатное предложение уровня, вам нужно будет указать адрес, данные кредитной или дебетовой карты и номер вашего телефона. Форма регистрации находится здесь: http://aws.amazon.com/free/, и для завершения процесса требуется всего несколько минут. В качестве меры безопасности вы получите автоматический телефонный звонок, и вам будет предложено ввести четырехзначное число, которое отображается на экране вашего телефона.
Выберите экземпляр
С вашей новой учетной записью вы готовы выбрать экземпляр. Войдите в свою учетную запись и в списке Amazon Web Service выберите EC2.
Вы войдете в панель управления ваших экземпляров EC2. Пока у вас нет установленного экземпляра. Для установки и установки нажмите кнопку Launch Instance.
Вам будет представлено всплывающее меню, из которого вы можете выбрать тип инсталляции для установки.
Выбор экземпляра зависит от ваших требований и бюджета. Поскольку мы используем уровень бесплатного использования, я предлагаю вам выбрать опцию мастера быстрого запуска и 64-битный экземпляр Amazon Linux AMI 2013.03.01.
В процессе настройки будет создан файл PEM, который используется Putty для доступа к вашему экземпляру. Смотрите ниже для более подробной информации.
Совет: Если вы вернетесь к консоли и не сможете увидеть свой экземпляр, скорее всего, у вас не выбран правильный регион. В верхнем правом углу экрана вы можете изменить регион.
Убедитесь, что вы ввели имя для своего экземпляра и создали новую пару ключей. Нажмите продолжить, чтобы установить экземпляр. Установка и запуск экземпляра могут занять несколько минут. А пока мы скачаем и установим Putty.
Загрузите и установите Putty
Putty — это SSH-клиент, который обеспечивает удаленный доступ к корню нашего экземпляра Linux и может быть загружен с веб-сайта www.putty.org . Выберите подходящую версию для вашей операционной системы. Пока вы там, вы также должны скачать PuttyGen. Это приложение преобразует файл PEM (Сертификат повышенной безопасности почты), созданный при создании пары ключей, в файл PPK для использования в Putty. Этот файл обеспечивает аутентификацию при подключении к вашему экземпляру из Putty.
После того, как эти два приложения установлены, вы можете конвертировать файл PEM в файл PPK. Откройте PuttyGen и загрузите файл PEM, затем сохраните его с расширением PPK.
Настроить группы безопасности
Группы безопасности дают разрешение на доступ к трафику на указанных портах. Протокол SSH использует порт 22, а протокол HTTP использует порты 80 и 8080, поэтому мы должны разрешить доступ к трафику на этих портах.
Конфигурация группы безопасности находится в меню «Сеть и безопасность». Для вас будет настроена группа безопасности по умолчанию, и теперь вам необходимо ввести входящие порты. Выберите группу безопасности и нажмите на вкладку «Входящие».
Для каждого из трех портов выберите Пользовательское правило TCP и введите номер порта. Нажмите добавить правило, чтобы добавить его. Если есть группа ВСЕ, вы должны удалить ее. Чтобы сохранить изменения, нажмите «Применить изменения правил».
Доступ не был предоставлен SSH-трафику и HTTP-трафику.
Подключиться через SSH используя Putty
Теперь мы готовы подключиться к нашему экземпляру через Putty.
Для настройки Putty нам понадобится следующая информация:
- Общедоступный DNS вашего экземпляра;
- PPK-файл, который мы конвертировали из PEM, стал проще и
- имя для автоматического входа.
DNS вашего экземпляра можно найти на панели EC2Dashboard и будет иметь вид: ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com и будет варьироваться в зависимости от региона, в котором находятся экземпляры. установлен в.
Имя для автоматического входа должно быть: ec2-user
Запустите Putty и на экране Session введите Public DNS в поле ввода Host Name и имя в поле Saved Sessions.
Переключитесь на экран «Данные», который находится под пунктом меню «Соединение», и введите имя пользователя в поле данных для входа. Теперь переключитесь на экран Auth, который находится под SSH и перейдите к месту, где находится файл PPK.
Вернитесь к экрану сеанса и сохраните конфигурацию. Нажмите Открыть, чтобы подключиться.
Теперь вы вошли в свой экземпляр Linux на EC2.
Скачайте и установите Java 7
Теперь, когда мы вошли в систему, мы загрузим Java 7. Нам потребуется доступ с правами root, поэтому введите sudo -i и перейдите в верхний каталог. Мы собираемся скачать и установить Java в новый каталог под usr . Создайте новый каталог, выполнив: mkdir / usr / java и перейдите в каталог java .
На момент написания последней версии Java 7 был Java SE Development Kit 7u40. Поэтому мы будем загружать эту версию. Чтобы избежать проблем с файлами cookie и лицензией Oracle, мы делаем следующее:
1
2
|
wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" |
Это должно загрузить менее чем за минуту.
После загрузки нам нужно распаковать его, используя tar: tar zxpvf jdk-7u40-linux-x64.tar.gz. Это создаст каталог jdk1.7.0_40, в котором установлена Java.
Теперь мы установили Java Home и поместим Java в путь наших пользователей, используя следующие команды:
1
2
3
4
|
JAVA_HOME=/usr/java/jdk1. 7 .0_40/ export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH |
Вы можете проверить, что Java установлена, выполнив: java -version, это должно распечатать версию Java 1.7.0_40 .
Скачайте, установите и настройте Tomcat 7
Мы собираемся скачать и установить Tomcat 7 в каталоге / usr / share , выполнив следующие две команды:
1
2
|
wget http: //ftp.cixug.es/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz tar zxpvf apache-tomcat- 7.0 . 42 .tar.gz |
Tomcat будет распакован и установлен в каталог apache-tomcat-7.0.42 . Теперь мы завершим настройку пользователей Tomcat и настройку автоматического запуска tomcat при каждом перезапуске сервера.
Чтобы настроить автоматический запуск Tomcat, создайте файл t omcat в каталоге /etc/rc.d/init.d/ со следующим содержимым:
1
2
3
4
5
6
7
8
9
|
!/bin/sh # Tomcat init script for Linux. # # chkconfig: 2345 96 14 # description: The Apache Tomcat servlet/JSP container. JAVA_HOME=/usr/java/jdk1. 7 .0_40/ CATALINA_HOME=/usr/share/apache-tomcat- 7.0 . 42 export JAVA_HOME CATALINA_HOME exec $CATALINA_HOME/bin/catalina.sh $* |
Мне нравится использовать nano для создания и редактирования файлов, но пико работает так же хорошо. Затем выполните следующие команды, чтобы установить соответствующие разрешения для сценария инициализации и включить Tomcat для автозапуска:
1
2
|
chmod 755 /etc/rc.d/init.d/tomcat chkconfig --level 2345 tomcat on |
Tomcat теперь должен запускаться автоматически при каждом перезапуске вашего сервера.
Теперь нам нужно настроить пользователей Tomcat. Это позволит получить доступ к консоли менеджера в интерфейсе Tomcat. Пользователи настраиваются в файле с именем tomcat-user.xml, который хранится в каталоге apache-tomcat-7.0.42 / config . Откройте этот файл с помощью nano и отредактируйте права доступа, как показано ниже, изменив пароль соответствующим образом:
1
2
3
4
5
6
7
8
|
< role rolename = "manager-gui" /> < role rolename = "manager-script" /> < role rolename = "manager-jmx" /> < role rolename = "manager-status" /> < role rolename = "admin-gui" /> < user username = "tomcat" password = "winter04" roles = "manager-gui,manager-status,admin-gui" /> < user username = "tomcattools" password = "winter04" roles = "manager-jmx,manager-script" /> |
Теперь у нас есть все, что нужно настроить. Вернитесь к консоли EC2 и перезагрузите экземпляр, щелкнув правой кнопкой мыши по экземпляру и выбрав reboot. Это не должно занять больше, чем несколько минут.
Используйте менеджер Tomcat для запуска файла WAR
После перезагрузки экземпляра перейдите в браузер и введите общедоступный DNS своего экземпляра, а затем порт 8080. Он должен выглядеть примерно так: e c2-XX-XXX-XX-XX.us-west-2.compute. amazonaws.com:8080 . Вы увидите домашнюю страницу сервера Tomcat. Чтобы получить доступ к приложению менеджера, нажмите кнопку «Приложение менеджера» справа. Введите имя пользователя и пароль, которые вы настроили в файле tomcat-users.xml . Вы увидите консоль менеджера веб-приложений, из которой вы можете загрузить файл WAR. Прокрутите вниз до раздела «Развертывание», здесь вы можете выбрать файл WAR и развернуть его в Tomcat.
URL-адрес вашего веб-приложения будет выглядеть примерно так: e c2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com:8080/MyWebAppName
Вывод
Я показал, как настроить экземпляр Linux EC2 micro.t1, установить и настроить Java 7 и Tomcat 7 и развернуть файл WAR. Предложение 12-месячного бесплатного уровня от Amazon Web Services включает в себя гораздо больше, чем экземпляры EC2. Стоит взглянуть на сервис Elastic Beanstalk и на то, как его можно использовать в облачных IDE. См. Мою статью о конвейере развертывания на основе облака .