Ćwiczenie — tworzenie witryny internetowej platformy Azure przy użyciu interfejsu wiersza polecenia

Ukończone

Następnie użyjemy interfejsu wiersza polecenia platformy Azure, aby utworzyć grupę zasobów, a następnie wdrożyć aplikację internetową w tej grupie zasobów.

Bezpłatna piaskownica umożliwia tworzenie zasobów w podzestawie regionów globalnych platformy Azure. Podczas tworzenia zasobów wybierz region z poniższej listy:

  • westus2
  • southcentralus
  • centralus
  • eastus
  • westeurope
  • southeastasia
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Korzystanie z grupy zasobów

Podczas pracy z własną maszyną i subskrypcją platformy Azure musisz zalogować się do platformy Azure przy użyciu az login polecenia . Logowanie jest jednak niepotrzebne w przypadku korzystania ze środowiska piaskownicy usługi Cloud Shell opartego na przeglądarce.

Następnie zwykle należy utworzyć grupę zasobów dla wszystkich powiązanych zasobów platformy Azure za pomocą az group create polecenia , ale w tym ćwiczeniu utworzono następującą grupę zasobów: [nazwa grupy zasobów piaskownicy].

Uwaga

W tym ćwiczeniu używamy regionu Wschodnie stany USA. Jeśli wystąpi problem podczas tworzenia planu usługi App Service, wybierz inny region z poprzedniej listy.

  1. Pierwszym krokiem w tym ćwiczeniu jest utworzenie kilku zmiennych do użycia w kolejnych poleceniach:

    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. Możesz w interfejsie wiersza polecenia platformy Azure wydać polecenie wyświetlenia listy wszystkich grup zasobów w tabeli. Powinna istnieć tylko jedna, gdy jesteś w bezpłatnej piaskownicy platformy Azure:

    az group list --output table
    

    Napiwek

    Do kopiowania poleceń do schowka możesz używać przycisku Kopiuj. Aby wkleić, kliknij prawym przyciskiem myszy nowy wiersz w terminalu usługi Cloud Shell i wybierz polecenie Wklej lub użyj skrótu klawiaturowego Shift+Insert (⌘+V w systemie macOS).

  3. Jeśli będziesz kontynuować pracę na platformie Azure, możesz mieć kilka grup zasobów. Jeśli lista grup zawiera wiele elementów, możesz filtrować zwracane wartości, dodając opcję --query. Spróbuj uruchomić następujące polecenie:

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

    Zapytanie jest formatowane przy użyciu języka JMESPath — standardowego języka zapytań dla żądań JSON. Więcej informacji na temat tego zaawansowanego języka filtrowania jest dostępnych w witrynie http://jmespath.org/. Zapytania są także bardziej szczegółowo omówione w module Zarządzanie maszynami wirtualnymi za pomocą interfejsu wiersza polecenia platformy Azure.

Procedura tworzenia planu usług

Po uruchomieniu usługi Web Apps przy użyciu usługi aplikacja systemu Azure płacisz za zasoby obliczeniowe platformy Azure używane przez aplikację i koszty zasobów zależą od planu usługi App Service skojarzonego z usługą Web Apps. Za pomocą planów usług jest określany region używany na potrzeby centrum danych aplikacji, liczba używanych maszyn wirtualnych i warstwa cenowa.

  1. Utwórz plan usługi App Service, w ramach którego zostanie uruchomiona Twoja aplikacja. Poniższe polecenie określa warstwę cenową Bezpłatna, ale można uruchomić polecenie az appservice plan create --help, aby zobaczyć pozostałe warstwy cenowe.

    Uwaga

    Nazwy aplikacji i planów muszą być unikatowe we wszystkich platformach Azure. Dla utworzonych wcześniej zmiennych zostaną przypisane wartości losowe jako sufiksy, aby zapewnić ich unikatowość. Jeśli jednak podczas tworzenia jakichkolwiek zasobów wystąpi błąd, należy uruchomić wymienione wcześniej polecenia, aby zresetować wszystkie zmienne z nowymi wartościami losowymi.

    Jeśli wystąpi błąd dotyczący grupy zasobów, uruchom podane wcześniej polecenia z inną wartością grupy zasobów.

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

    Wykonanie tego polecenia może potrwać kilka minut.

  2. Sprawdź, czy plan usługi został utworzony pomyślnie, wyświetlając listę wszystkich planów w tabeli:

    az appservice plan list --output table
    

    Powinna zostać wyświetlona odpowiedź podobna do poniższego przykładu:

    Kind    Location    MaximumNumberOfWorkers    Name                NumberOfSites    ResourceGroup                               Status
    ------  ----------  ------------------------  ------------------  ---------------  ------------------------------------------  --------
    app     East US     3                         popupappplan-54321  0                Learn-12345678-1234-1234-1234-123456789abc  Ready
    

Tworzenie aplikacji internetowej

Następnie utwórz aplikację internetową w planie usługi. Kod można wdrożyć w tym samym czasie, ale w tym przykładzie utworzymy aplikację internetową i wdrożymy kod w oddzielnych krokach.

  1. Aby utworzyć aplikację internetową, podaj nazwę aplikacji internetowej i nazwę utworzonego wcześniej planu aplikacji. Podobnie jak nazwa planu aplikacji, nazwa aplikacji internetowej musi być unikatowa. Utworzone wcześniej zmienne przypisują wartości losowe, które powinny być wystarczające dla tego ćwiczenia. Wykonanie tego polecenia może potrwać kilka minut.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Sprawdź, czy aplikacja została pomyślnie utworzona, wyświetlając listę wszystkich aplikacji w tabeli:

    az webapp list --output table
    

    Powinna zostać wyświetlona odpowiedź podobna do poniższego przykładu:

    Name               Location    State    ResourceGroup                               DefaultHostName                      AppServicePlan
    -----------------  ----------  -------  ------------------------------------------  -----------------------------------  ------------------
    popupwebapp-12345  East US  Running  Learn-12345678-1234-1234-1234-123456789abc  popupwebapp-12345.azurewebsites.net  popupappplan-54321
    

    Zanotuj nazwę DefaultHostName z tabeli. Ten adres jest adresem URL nowej witryny internetowej. Platforma Azure udostępnia witrynę internetową za pośrednictwem unikatowej nazwy aplikacji w domenie azurewebsites.net . Jeśli na przykład nazwa aplikacji to "popupwebapp-12345", adres URL witryny internetowej to: http://popupwebapp-12345.azurewebsites.net. Możesz również użyć następującego skryptu, aby zwrócić adres HTTP:

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Aby uzyskać domyślny kod HTML dla przykładowej aplikacji, użyj narzędzia CURL z wartością DefaultHostName:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Powinna zostać wyświetlona odpowiedź podobna do poniższego przykładu:

    <!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)
    

Wdrażanie kodu z usługi GitHub

  1. Ostatnim krokiem jest wdrożenie kodu z repozytorium GitHub do aplikacji internetowej. Użyjmy podstawowej strony JĘZYKA PHP dostępnej w repozytorium GitHub Przykłady platformy Azure, które wyświetla komunikat "Hello World!" podczas jego wykonywania. Upewnij się, że używasz utworzonej nazwy aplikacji internetowej. Wykonanie tego polecenia może potrwać kilka minut.

    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. Po wdrożeniu ponownie przejdź do witryny za pomocą przeglądarki lub narzędzia CURL:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Strona z napisem „Hello World!”

    Hello World!
    

W tym ćwiczeniu przedstawiono typowy wzorzec interaktywnej sesji wiersza polecenia platformy Azure. Najpierw użyto standardowego polecenia, aby utworzyć nową grupę zasobów. Następnie użyto zestawu poleceń do wdrożenia zasobu (w tym przykładzie jest to aplikacja internetowa) w tej grupie zasobów. Ten zestaw poleceń można łatwo połączyć w skrypt powłoki i wykonać go za każdym razem, gdy musisz utworzyć ten sam zasób.