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.
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.
Uwaga
Po 28 listopada 2022 r. środowisko PHP będzie obsługiwane tylko w App Service dla systemu Linux.
Wymagania wstępne
Aby ukończyć ten przewodnik Szybki start:
Pobieranie przykładu na maszynę lokalną
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
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 witrynymain
.
Lokalne uruchamianie aplikacji
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
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.
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. | |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.
Wybierz 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
W usłudze Cloud Shell utwórz aplikację internetową w planie usługi App Service
myAppServicePlan
za pomocą poleceniaaz webapp create
.W poniższym przykładzie zastąp ciąg
<app-name>
globalnie unikatową nazwą aplikacji (prawidłowe znaki toa-z
,0-9
i-
). Środowisko uruchomieniowe ma ustawioną wartośćPHP|7.4
. Aby wyświetlić wszystkie obsługiwane środowiska uruchomieniowe, uruchom polecenieaz 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 formaciehttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Zapisz ten adres URL, ponieważ będzie on potrzebny później.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:
Wypychanie z narzędzia Git na platformę Azure
Ponieważ wdrażasz
main
gałąź, musisz ustawić domyślną gałąź wdrożenia dla aplikacji usługi App Service namain
wartość (zobacz Zmienianie gałęzi wdrażania). W usłudze Cloud Shell ustawDEPLOYMENT_BRANCH
ustawienie aplikacji zaaz webapp config appsettings set
pomocą polecenia .az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
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>
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 lokalnego wdrożenia usługi Git, a nie poświadczenia używane do logowania się w witrynie Azure Portal.
git push azure main
Uruchomienie 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.
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
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 poleceniaecho
:echo "Hello Azure!";
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
Po zakończeniu wdrożenia wróć do okna przeglądarki otwartego w kroku przechodzenia do aplikacji, a następnie odśwież stronę.
Zarządzanie nową aplikacją platformy Azure
Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.
Wybierz nazwę aplikacji platformy Azure.
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.
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.
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:
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Usługa Git
- PHP
- Interfejs wiersza polecenia platformy Azure do uruchamiania poleceń w dowolnej powłoce w celu utworzenia i skonfigurowania zasobów platformy Azure.
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.
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
Aby uruchomić aplikację lokalnie, użyj
php
polecenia , aby uruchomić wbudowany serwer internetowy PHP.php -S localhost:8080
Przejdź do przykładowej aplikacji w
http://localhost:8080
przeglądarce internetowej.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ącaz 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 innychaz 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.
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
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 poleceniaecho
:echo "Hello Azure!";
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
Po zakończeniu wdrażania wróć do okna przeglądarki otwartego podczas kroku Przeglądaj do aplikacji i odśwież stronę.
4 — Zarządzanie nową aplikacją platformy Azure
Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.
Wybierz nazwę aplikacji platformy Azure.
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.
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ę.