Упражнение. Создание веб-сайта в Azure с помощью интерфейса командной строки
Затем давайте создадим группу ресурсов с помощью Azure CLI, а затем развернем веб-приложение в этой группе ресурсов.
Бесплатная песочница позволяет создавать ресурсы в ряде глобальных регионов Azure. При создании ресурсов выберите регион из этого списка:
- westus2
- центрально-южная часть США
- centralus
- eastus
- westeurope
- юго-восточная Азия
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Использование группы ресурсов
При работе с собственным компьютером и подпиской Azure необходимо войти в Azure с помощью az login
команды. Однако при входе не требуется при использовании среды песочницы Cloud Shell на основе браузера.
Затем вы обычно создадите группу ресурсов для всех связанных ресурсов Azure с az group create
помощью команды, но для этого упражнения для вас была создана следующая группа ресурсов:
Примечание.
В этом упражнении мы используем восточную часть США в качестве региона. Если при создании плана службы приложений возникла проблема, выберите другой регион из предыдущего списка.
Первым шагом в этом упражнении является создание нескольких переменных для использования в последующих командах:
export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn> export AZURE_REGION=eastus export AZURE_APP_PLAN=popupappplan-$RANDOM export AZURE_WEB_APP=popupwebapp-$RANDOM
Чтобы получить список всех групп ресурсов в таблице, выполните соответствующую команду в Azure CLI. В песочнице Azure должно быть только одно:
az group list --output table
Совет
Чтобы скопировать команду в буфер обмена, нажмите кнопку Копировать. Для вставки щелкните правой кнопкой мыши новую строку в терминале Cloud Shell и выберите команду Вставить или нажмите клавиши SHIFT+INSERT (⌘+V в macOS).
В ходе дальнейшей разработки Azure вам может потребоваться создавать и другие группы ресурсов. Если в списке групп несколько элементов, можно отфильтровать возвращаемые значения, добавив параметр
--query
. Выполните следующую команду:az group list --query "[?name == '$RESOURCE_GROUP']"
Запрос форматируется с помощью JMESPath, стандартного языка запросов для запросов JSON. Дополнительные сведения об этом эффективном языке фильтров см. на странице http://jmespath.org/. Мы также более подробно рассмотрим запросы в модуле управления виртуальными машинами с помощью Azure CLI.
Действия по созданию плана обслуживания
При запуске веб-приложения с помощью службы приложение Azure вы платите за вычислительные ресурсы Azure, используемые приложением, и затраты на ресурсы зависят от плана Служба приложений, связанного с веб-приложения. Планы обслуживания определяют регион, используемый для центра обработки данных приложения, количество виртуальных машин и ценовую категорию.
Создайте план службы приложений для работы своего приложения. Следующая команда указывает бесплатную ценовую категорию, но можно запустить
az appservice plan create --help
для просмотра других ценовых категорий.Примечание.
Имена приложений и планов должны быть уникальными во всех azure. Переменным, которые вы создали ранее, будут назначены случайные суффиксы, чтобы обеспечить их уникальность. Однако если при создании ресурсов возникает ошибка, следует выполнить команды, перечисленные ранее, чтобы сбросить все переменные с новыми случайными значениями.
Если появляется сообщение об ошибке для группы ресурсов, выполните приведенные выше команды с другим значением группы ресурсов.
az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
Выполнение этой команды может занять несколько минут.
Убедитесь, что план обслуживания был успешно создан, перечислив все планы в таблице:
az appservice plan list --output table
Вы должны получить ответ, как показано в следующем примере:
Kind Location MaximumNumberOfWorkers Name NumberOfSites ResourceGroup Status ------ ---------- ------------------------ ------------------ --------------- ------------------------------------------ -------- app East US 3 popupappplan-54321 0 Learn-12345678-1234-1234-1234-123456789abc Ready
Создание веб-приложения.
Затем создайте веб-приложение в плане обслуживания. Одновременно с этим вы можете развернуть код, но в нашем примере мы создадим веб-приложение и развернем код по отдельности.
Чтобы создать веб-приложение, укажите имя веб-приложения и имя созданного ранее плана приложения. Как и имя плана приложения, имя веб-приложения должно быть уникальным. Переменные, созданные ранее, назначают случайные значения, которые должны быть достаточно для этого упражнения. Эта команда может занять несколько минут.
az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
Убедитесь, что приложение было успешно создано путем перечисления всех приложений в таблице:
az webapp list --output table
Вы должны получить ответ, как показано в следующем примере:
Name Location State ResourceGroup DefaultHostName AppServicePlan ----------------- ---------- ------- ------------------------------------------ ----------------------------------- ------------------ popupwebapp-12345 East US Running Learn-12345678-1234-1234-1234-123456789abc popupwebapp-12345.azurewebsites.net popupappplan-54321
Запишите указанное в таблице имя узла DefaultHostName; это URL-адрес для нового веб-сайта. Azure делает веб-сайт доступным с помощью уникального имени приложения в домене
azurewebsites.net
. Например, если ваше приложение было "popupwebapp-12345", url-адрес веб-сайта будет следующим:http://popupwebapp-12345.azurewebsites.net
Для возврата HTTP-адреса можно также использовать следующий скрипт:site="http://$AZURE_WEB_APP.azurewebsites.net" echo $site
Чтобы получить HTML по умолчанию для примера приложения, используйте CURL с defaultHostName:
curl $AZURE_WEB_APP.azurewebsites.net
Вы должны получить ответ, как показано в следующем примере:
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure App Service - Welcome</title><link rel="shortcut icon" href="https://appservice.azureedge.net/images/app-service/v4/favicon.ico" type="image/x-icon"/><link href="https://appservice.azureedge.net/css/app-service/v4/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"/><style>html, body{height: 100%; background-color: #ffffff; color: #000000; font-size: 13px;}*{border-radius: 0 !important;}</style> ... (continued)
развертывание кода из GitHub
Последним шагом является развертывание кода из репозитория GitHub в веб-приложение. Давайте используем базовую страницу PHP, доступную в репозитории GitHub примеров Azure, которая отображает "Hello World!" при выполнении. Обязательно используйте имя созданного веб-приложения. Эта команда может занять несколько минут.
az webapp deployment source config --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --repo-url "https://github.com/Azure-Samples/php-docs-hello-world" --branch master --manual-integration
После развертывания снова найдите сайт с помощью браузера или CURL:
curl $AZURE_WEB_APP.azurewebsites.net
На странице отображается Hello World!
Hello World!
В этом упражнении приводилась стандартная схема для интерактивного сеанса Azure CLI. Сначала вы использовали стандартную команду для создания группы ресурсов. Затем с помощью набора команд вы развернули в ней ресурс (в этом примере — веб-приложение). Этот набор команд можно легко объединить в скрипт оболочки и запускать его каждый раз, когда нужно создать такой же ресурс.