Tworzenie aplikacji internetowej w języku PHP w usłudze aplikacja systemu Azure

Usługa Azure App Service oferuje wysoce skalowalną i samonaprawialną usługę hostingu w Internecie. W tym samouczku Szybki start pokazano, jak wdrożyć aplikację PHP w usłudze aplikacja systemu Azure w systemie Windows.

Aplikacja internetowa zostanie utworzona przy użyciu interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell, a przykład kodu w języku PHP zostanie wdrożony w aplikacji internetowej za pomocą usługi Git.

Sample app running in Azure

Poniższe kroki możesz wykonać przy użyciu komputera z systemem Mac, Windows lub Linux. Po zainstalowaniu wymagań wstępnych wykonanie czynności trwa około pięciu minut.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Aby ukończyć ten przewodnik Szybki start:

Pobieranie przykładu na maszynę lokalną

  1. W oknie terminalu uruchom następujące polecenia. Sklonuje przykładową aplikację na komputer lokalny i przejdzie do katalogu zawierającego przykładowy kod.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Upewnij się, że gałąź domyślna to main.

    git branch -m main
    

    Napiwek

    Zmiana nazwy gałęzi nie jest wymagana przez usługę App Service. Jednak ponieważ wiele repozytoriów zmienia swoją domyślną gałąź na main, ten przewodnik Szybki start pokazuje również, jak wdrożyć repozytorium z witryny main.

Lokalne uruchamianie aplikacji

  1. Uruchom aplikację lokalnie, aby zobaczyć, jak powinna ona wyglądać, gdy wdrożysz ją na platformie Azure. Otwórz okno terminala i użyj polecenia php w celu uruchomienia wbudowanego serwera internetowego środowiska PHP.

    php -S localhost:8080
    
  2. Otwórz przeglądarkę internetową i przejdź do przykładowej aplikacji pod adresem http://localhost:8080.

    Zostanie wyświetlony komunikat Hello World! z przykładowej aplikacji wyświetlanej na stronie.

    Sample app running locally

  3. W oknie terminalu naciśnij kombinację klawiszy Ctrl + C, aby zamknąć serwer sieci Web.

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Button to launch Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

Konfigurowanie użytkownika wdrożenia

Protokół FTP i lokalna usługa Git może zostać wdrożona w aplikacji internetowej platformy Azure przy użyciu użytkownika wdrożenia. Po skonfigurowaniu użytkownika wdrożenia możesz go użyć dla wszystkich wdrożeń platformy Azure. Nazwa użytkownika i hasło wdrożenia na poziomie konta różnią się od poświadczeń subskrypcji platformy Azure.

Aby skonfigurować użytkownika wdrożenia, uruchom polecenie az webapp deployment user set w usłudze Azure Cloud Shell. Zastąp <nazwę użytkownika> i <hasło> użytkownika wdrożenia nazwą użytkownika i hasłem.

  • Nazwa użytkownika musi być unikatowa na platformie Azure, a w przypadku lokalnych wypychania Git nie może zawierać symbolu "@".
  • Hasło musi mieć długość co najmniej ośmiu znaków, z dwoma z następujących trzech elementów: literami, cyframi i symbolami.
az webapp deployment user set --user-name <username> --password <password>

Dane wyjściowe JSON zawierają hasło jako null. Jeśli wystąpił błąd 'Conflict'. Details: 409, zmień nazwę użytkownika. Jeśli wystąpił błąd 'Bad Request'. Details: 400, użyj silniejszego hasła.

Zarejestruj swoją nazwę użytkownika i hasło do użycia w celu wdrożenia aplikacji internetowych.

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak aplikacje internetowe, bazy danych i konta magazynu. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.

W usłudze Cloud Shell utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji West Europe (Europa Zachodnia). Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w warstwie Bezpłatna, uruchom polecenie az appservice list-locations --sku FREE.

az group create --name myResourceGroup --location "West Europe"

Zasadniczo grupy zasobów i zasoby są tworzone w pobliskim regionie.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.

Tworzenie planu usługi Azure App Service

W usłudze Cloud Shell utwórz plan usługi App Service za pomocą polecenia az appservice plan create.

W poniższym przykładzie jest tworzony plan usługi App Service o nazwie myAppServicePlan przy użyciu warstwy cenowej Bezpłatna:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux

Po utworzeniu planu usługi App Service interfejs wiersza polecenia platformy Azure wyświetli informacje podobne do następujących:

{ 
  "freeOfferExpirationTime": null,
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Tworzenie aplikacji internetowej

  1. W usłudze Cloud Shell utwórz aplikację internetową w planie usługi App Service myAppServicePlan za pomocą polecenia az webapp create.

    W poniższym przykładzie zastąp ciąg <app-name> globalnie unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0-9 i -). Środowisko uruchomieniowe ma ustawioną wartość PHP|7.4. Aby wyświetlić wszystkie obsługiwane środowiska uruchomieniowe, uruchom polecenie az webapp list-runtimes.

    az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
    

    Po utworzeniu aplikacji internetowej w interfejsie wiersza polecenia platformy Azure zostaną wyświetlone dane wyjściowe podobne do następujących:

     Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
     {
       "availabilityState": "Normal",
       "clientAffinityEnabled": true,
       "clientCertEnabled": false,
       "cloningInfo": null,
       "containerSize": 0,
       "dailyMemoryTimeQuota": 0,
       "defaultHostName": "<app-name>.azurewebsites.net",
       "enabled": true,
       < JSON data removed for brevity. >
     }
     

    Utworzono pustą nową aplikację internetową z włączonym wdrażaniem usługi Git.

    Uwaga

    Adres URL zdalnego repozytorium Git jest wyświetlany we właściwości deploymentLocalGitUrl w formacie https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Zapisz ten adres URL, ponieważ będzie on potrzebny później.

  2. Przejdź do nowo utworzonej aplikacji internetowej. Zastąp <ciąg app-name> unikatową nazwą aplikacji utworzoną w poprzednim kroku.

    http://<app-name>.azurewebsites.net
    

    Oto, jak powinna wyglądać nowa aplikacja internetowa:

    Empty web app page

Wypychanie z narzędzia Git na platformę Azure

  1. Ponieważ wdrażasz main gałąź, musisz ustawić domyślną gałąź wdrożenia dla aplikacji usługi App Service na main wartość (zobacz Zmienianie gałęzi wdrażania). W usłudze Cloud Shell ustaw DEPLOYMENT_BRANCH ustawienie aplikacji za az webapp config appsettings set pomocą polecenia .

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. W lokalnym oknie terminala dodaj zdalną platformę Azure do lokalnego repozytorium Git. Zastąp ciąg <deploymentLocalGitUrl-from-create-step> adresem URL zdalnego repozytorium Git zapisanego z sekcji Tworzenie aplikacji internetowej.

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. Wypchnij na zdalną platformę Azure w celu wdrożenia aplikacji za pomocą następującego polecenia. Gdy menedżer poświadczeń usługi Git wyświetli monit o podanie poświadczeń, upewnij się, że wprowadzono poświadczenia utworzone w sekcji Konfigurowanie użytkownika wdrożenia, a nie poświadczenia używane do logowania się w witrynie Azure Portal.

    git push azure main
    

    Wykonanie tego polecenia może potrwać kilka minut. Podczas wykonywania polecenie wyświetli informacje podobne do następującego przykładu:

  Counting objects: 2, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (2/2), done.
  Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
  Total 2 (delta 1), reused 0 (delta 0)
  remote: Updating branch 'main'.
  remote: Updating submodules.
  remote: Preparing deployment for commit id '25f18051e9'.
  remote: Generating deployment script.
  remote: Running deployment command...
  remote: Handling Basic Web Site deployment.
  remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
  remote: Copying file: '.gitignore'
  remote: Copying file: 'LICENSE'
  remote: Copying file: 'README.md'
  remote: Copying file: 'index.php'
  remote: Ignoring: .git
  remote: Finished successfully.
  remote: Running post deployment command(s)...
  remote: Deployment successful.
  To https://<app-name>.scm.azurewebsites.net/<app-name>.git
      cc39b1e..25f1805  main -> main
  

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji za pomocą przeglądarki sieci Web.

http://<app-name>.azurewebsites.net

Przykładowy kod w języku PHP jest uruchamiany w aplikacji internetowej usługi Azure App Service.

Sample app running in Azure

Gratulacje! Udało Ci się wdrożyć pierwszą własną aplikację w języku PHP w usłudze App Service.

Lokalne aktualizowanie i ponowne wdrażanie kodu

  1. Za pomocą lokalnego edytora tekstów otwórz plik index.php w aplikacji w języku PHP i wprowadź niewielką zmianę w tekście ciągu obok polecenia echo:

    echo "Hello Azure!";
    
  2. W oknie lokalnego terminala zatwierdź zmiany w usłudze Git, a następnie wypchnij zmiany kodu na platformę Azure.

    git commit -am "updated output"
    git push azure main
    
  3. Po zakończeniu wdrożenia wróć do okna przeglądarki otwartego w kroku przechodzenia do aplikacji, a następnie odśwież stronę.

    Updated sample app running in Azure

Zarządzanie nową aplikacją platformy Azure

  1. Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.

    Search for App Services, Azure portal, create PHP web app

  2. Wybierz nazwę aplikacji platformy Azure.

    Portal navigation to Azure app

    Zostanie wyświetlona strona Przegląd aplikacji internetowej. W tym miejscu możesz wykonywać podstawowe zadania zarządzania, takie jak Przeglądanie, zatrzymywanie, ponowne uruchamianie i usuwanie.

    App Service page in Azure portal

    Menu aplikacji internetowej zawiera różne opcje konfigurowania aplikacji.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli te zasoby nie będą raczej potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie w usłudze Cloud Shell:

az group delete --name myResourceGroup

Wykonanie tego polecenia może potrwać około minutę.

Usługa Azure App Service oferuje wysoce skalowalną i samonaprawialną usługę hostingu w Internecie. W tym przewodniku Szybki start pokazano, jak wdrożyć aplikację PHP w usłudze aplikacja systemu Azure w systemie Linux.

Screenshot of the sample app running in Azure.

Poniższe kroki możesz wykonać przy użyciu komputera z systemem Mac, Windows lub Linux. Po zainstalowaniu wymagań wstępnych wykonanie czynności trwa około pięciu minut.

Aby ukończyć ten przewodnik Szybki Start, musisz spełnić następujące warunki:

1 — Pobieranie przykładowego repozytorium

Aplikację internetową można utworzyć przy użyciu interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell, a usługa Git umożliwia wdrożenie przykładowego kodu PHP w aplikacji internetowej.

  1. W oknie terminalu uruchom następujące polecenia, aby sklonować przykładową aplikację na maszynę lokalną i przejść do katalogu głównego projektu.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Aby uruchomić aplikację lokalnie, użyj php polecenia , aby uruchomić wbudowany serwer internetowy PHP.

    php -S localhost:8080
    
  3. Przejdź do przykładowej aplikacji w http://localhost:8080 przeglądarce internetowej.

    Screenshot of the sample app running locally.

  4. W oknie terminalu naciśnij kombinację klawiszy Ctrl + C, aby zamknąć serwer sieci Web.

2 — Wdrażanie kodu aplikacji na platformie Azure

Interfejs wiersza polecenia platformy Azure zawiera polecenie az webapp up , które tworzy niezbędne zasoby i wdraża aplikację w jednym kroku.

W terminalu wdróż kod w folderze lokalnym przy użyciu az webapp up polecenia :

az webapp up --runtime "PHP:8.2" --os-type=linux
  • az Jeśli polecenie nie zostało rozpoznane, upewnij się, że masz zainstalowany interfejs wiersza polecenia platformy Azure.
  • Argument --runtime "PHP:8.2" tworzy aplikację internetową z językiem PHP w wersji 8.2.
  • Argument --os-type=linux tworzy aplikację internetową w App Service dla systemu Linux.
  • Opcjonalnie możesz określić nazwę z argumentem --name <app-name>. Jeśli go nie podasz, zostanie automatycznie wygenerowana nazwa.
  • Opcjonalnie możesz dołączyć argument --location <location-name> , w którym <location_name> jest dostępny region platformy Azure. Listę dozwolonych regionów dla konta platformy Azure można pobrać, uruchamiając az account list-locations polecenie .
  • Jeśli zostanie wyświetlony błąd "Nie można automatycznie wykryć stosu środowiska uruchomieniowego aplikacji", upewnij się, że używasz polecenia w katalogu kodu (zobacz Rozwiązywanie problemów z automatycznym wykrywaniem problemów z poleceniem az webapp up).

Wykonanie tego polecenia może potrwać kilka minut. Gdy jest uruchomiona, udostępnia komunikaty o tworzeniu grupy zasobów, planie usługi App Service i zasobie aplikacji, konfigurowaniu rejestrowania i wdrażaniu pliku ZIP. Następnie zostanie wyświetlony komunikat "Możesz uruchomić aplikację pod adresem http://< app-name.azurewebsites.net>", który jest adresem URL aplikacji na platformie Azure.

The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir /home/msangapu/myPhpApp ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
  "URL": "http://<app-name>.azurewebsites.net",
  "appserviceplan": "<app-service-plan-name>",
  "location": "centralus",
  "name": "<app-name>",
  "os": "linux",
  "resourcegroup": "<group-name>",
  "runtime_version": "php|8.2",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "//home//msangapu//myPhpApp"
}

Uwaga

Polecenie az webapp up wykonuje następujące akcje:

  • Utwórz domyślną grupę zasobów.

  • Utwórz domyślny plan usługi App Service.

  • Utwórz aplikację o określonej nazwie.

  • Zip wdróż wszystkie pliki z bieżącego katalogu roboczego z włączoną automatyzacją kompilacji.

  • Buforuj parametry lokalnie w pliku .azure/config , aby nie trzeba było ich ponownie określać podczas wdrażania później za pomocą az webapp up polecenia lub innych az webapp poleceń z folderu projektu. Buforowane wartości są domyślnie używane automatycznie.

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net.

Przykładowy kod PHP jest uruchomiony w usłudze aplikacja systemu Azure.

Screenshot of the sample app running in Azure, showing 'Hello World!'.

Gratulacje! Pierwsza aplikacja PHP została wdrożona w usłudze App Service przy użyciu witryny Azure Portal.

3 — Aktualizowanie i ponowne wdrażanie aplikacji

  1. Za pomocą lokalnego edytora tekstów otwórz plik index.php w aplikacji w języku PHP i wprowadź niewielką zmianę w tekście ciągu obok polecenia echo:

    echo "Hello Azure!";
    
  2. Zapisz zmiany, a następnie ponownie wdróż aplikację przy użyciu polecenia az webapp up z następującymi argumentami:

    az webapp up --runtime "PHP:8.2" --os-type=linux
    
  3. Po zakończeniu wdrażania wróć do okna przeglądarki otwartego podczas kroku Przeglądaj do aplikacji i odśwież stronę.

    Screenshot of the updated sample app running in Azure.

4 — Zarządzanie nową aplikacją platformy Azure

  1. Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.

    Screenshot of the Azure portal with 'app services' typed in the search text box. In the results, the App Services option under Services is highlighted.

  2. Wybierz nazwę aplikacji platformy Azure.

    Screenshot of the App Services list in Azure. The name of the demo app service is highlighted.

    Powinna zostać wyświetlona strona Przegląd aplikacji internetowej. W tym miejscu możesz wykonywać podstawowe zadania zarządzania, takie jak Przeglądanie, zatrzymywanie, ponowne uruchamianie i usuwanie.

    Screenshot of the App Service overview page in Azure portal. In the action bar, the Browse, Stop, Swap (disabled), Restart, and Delete button group is highlighted.

    Menu aplikacji internetowej zawiera różne opcje konfigurowania aplikacji.

5 — Czyszczenie zasobów

Po zakończeniu pracy z przykładową aplikacją możesz usunąć wszystkie zasoby aplikacji z platformy Azure. Pomaga to uniknąć dodatkowych opłat i sprawia, że subskrypcja platformy Azure nie jest dołączana. Usunięcie grupy zasobów spowoduje również usunięcie wszystkich zasobów w grupie zasobów i jest najszybszym sposobem usunięcia wszystkich zasobów platformy Azure dla aplikacji.

Usuń grupę zasobów przy użyciu polecenia az group delete .

az group delete --name myResourceGroup

Uruchomienie tego polecenia trwa minutę.

Następne kroki