Упражнение. Создание веб-сайта в Azure с помощью интерфейса командной строки

Завершено

Затем давайте создадим группу ресурсов с помощью Azure CLI, а затем развернем веб-приложение в этой группе ресурсов.

Бесплатная песочница позволяет создавать ресурсы в ряде глобальных регионов Azure. При создании ресурсов выберите регион из этого списка:

  • westus2
  • центрально-южная часть США
  • centralus
  • eastus
  • westeurope
  • юго-восточная Азия
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Использование группы ресурсов

При работе с собственным компьютером и подпиской Azure необходимо войти в Azure с помощью az login команды. Однако при входе не требуется при использовании среды песочницы Cloud Shell на основе браузера.

Затем вы обычно создадите группу ресурсов для всех связанных ресурсов Azure с az group create помощью команды, но для этого упражнения для вас была создана следующая группа ресурсов: [имя группы ресурсов песочницы].

Примечание.

В этом упражнении мы используем восточную часть США в качестве региона. Если при создании плана службы приложений возникла проблема, выберите другой регион из предыдущего списка.

  1. Первым шагом в этом упражнении является создание нескольких переменных для использования в последующих командах:

    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
    
  2. Чтобы получить список всех групп ресурсов в таблице, выполните соответствующую команду в Azure CLI. В песочнице Azure должно быть только одно:

    az group list --output table
    

    Совет

    Чтобы скопировать команду в буфер обмена, нажмите кнопку Копировать. Для вставки щелкните правой кнопкой мыши новую строку в терминале Cloud Shell и выберите команду Вставить или нажмите клавиши SHIFT+INSERT (⌘+V в macOS).

  3. В ходе дальнейшей разработки Azure вам может потребоваться создавать и другие группы ресурсов. Если в списке групп несколько элементов, можно отфильтровать возвращаемые значения, добавив параметр --query. Выполните следующую команду:

    az group list --query "[?name == '$RESOURCE_GROUP']"
    

    Запрос форматируется с помощью JMESPath, стандартного языка запросов для запросов JSON. Дополнительные сведения об этом эффективном языке фильтров см. на странице http://jmespath.org/. Мы также более подробно рассмотрим запросы в модуле управления виртуальными машинами с помощью Azure CLI.

Действия по созданию плана обслуживания

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

  1. Создайте план службы приложений для работы своего приложения. Следующая команда указывает бесплатную ценовую категорию, но можно запустить az appservice plan create --help для просмотра других ценовых категорий.

    Примечание.

    Имена приложений и планов должны быть уникальными во всех azure. Переменным, которые вы создали ранее, будут назначены случайные суффиксы, чтобы обеспечить их уникальность. Однако если при создании ресурсов возникает ошибка, следует выполнить команды, перечисленные ранее, чтобы сбросить все переменные с новыми случайными значениями.

    Если появляется сообщение об ошибке для группы ресурсов, выполните приведенные выше команды с другим значением группы ресурсов.

    az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
    

    Выполнение этой команды может занять несколько минут.

  2. Убедитесь, что план обслуживания был успешно создан, перечислив все планы в таблице:

    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
    

Создание веб-приложения.

Затем создайте веб-приложение в плане обслуживания. Одновременно с этим вы можете развернуть код, но в нашем примере мы создадим веб-приложение и развернем код по отдельности.

  1. Чтобы создать веб-приложение, укажите имя веб-приложения и имя созданного ранее плана приложения. Как и имя плана приложения, имя веб-приложения должно быть уникальным. Переменные, созданные ранее, назначают случайные значения, которые должны быть достаточно для этого упражнения. Эта команда может занять несколько минут.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Убедитесь, что приложение было успешно создано путем перечисления всех приложений в таблице:

    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
    
  3. Чтобы получить 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

  1. Последним шагом является развертывание кода из репозитория 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
    
  2. После развертывания снова найдите сайт с помощью браузера или CURL:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    На странице отображается Hello World!

    Hello World!
    

В этом упражнении приводилась стандартная схема для интерактивного сеанса Azure CLI. Сначала вы использовали стандартную команду для создания группы ресурсов. Затем с помощью набора команд вы развернули в ней ресурс (в этом примере — веб-приложение). Этот набор команд можно легко объединить в скрипт оболочки и запускать его каждый раз, когда нужно создать такой же ресурс.