PHP-webalkalmazás létrehozása a Azure App Service

Figyelmeztetés

A PHP Windows rendszeren 2022 novemberében véget ért a támogatás . A PHP csak a Linuxon futó App Service-ben támogatott. Ez a cikk csak referenciaként szolgál.

Az Azure App Service egy hatékonyan méretezhető, önjavító webes üzemeltetési szolgáltatás. Ez a gyorsindítási útmutató bemutatja, hogyan lehet egy PHP-alkalmazást üzembe helyezni az Azure App Service szolgáltatásban Windows rendszeren.

A webalkalmazást az Azure CLI használatával hozza létre a Cloud Shell, és a Git használatával helyezi üzembe a minta PHP-kódot a webalkalmazásban.

Az Azure-ban futó mintaalkalmazás

Az itt található lépéseket Mac, Windows vagy Linux rendszerű gépen követheti. Az előfeltételek telepítése után körülbelül öt percet vesz igénybe a lépések végrehajtása.

Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.

Előfeltételek

A gyors útmutató befejezéséhez:

A minta helyi letöltése

  1. Egy terminálablakban futtassa a következő parancsokat. Klónozza a mintaalkalmazást a helyi gépre, és navigál a mintakódot tartalmazó könyvtárba.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Győződjön meg arról, hogy az alapértelmezett ág az main.

    git branch -m main
    

    Jótanács

    Az App Service nem követeli meg az ágnév módosítását. Mivel azonban sok adattár módosítja az alapértelmezett ágát , mainez a rövid útmutató azt is bemutatja, hogyan helyezhet üzembe egy adattárat a main.

Az alkalmazás helyi futtatása

  1. Futtassa helyileg az alkalmazást, hogy lássa, hogyan kell kinéznie, amikor üzembe helyezi az Azure-ban. Nyisson meg egy terminálablakot, és a paranccsal php indítsa el a beépített PHP webszervert.

    php -S localhost:8080
    
  2. Nyisson meg egy webböngészőt, és keresse meg a mintaalkalmazást a http://localhost:8080.

    Az oldalon megjelenik a mintaalkalmazás Hello World! üzenete.

    Helyileg futó mintaalkalmazás

  3. A terminálablakban nyomja meg a Ctrl+C billentyűkombinációt a webszerverből való kilépéshez.

Azure Cloud Shell

Az Azure üzemelteti az Azure Cloud Shell-t, egy interaktív héjkörnyezetet, amelyet a böngésződön keresztül használhatsz. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. Felhasználhatja a Cloud Shell előre telepített parancsait a cikkben szereplő kód futtatására anélkül, hogy bármit telepítenie kellene a helyi környezetében.

Azure Cloud Shell elindítása:

Lehetőség Példa/hivatkozás
A kód vagy parancsblokk jobb felső sarkában válassza a Kipróbálás lehetőséget. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Lépjen a https://shell.azure.com webhelyre, vagy válassza ki a Cloud Shell indítása gombot a Cloud Shell megnyitásához a böngészőjében. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Az Azure portálon a Cloud Shell gombot mutató képernyőkép

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shell alkalmazást.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Másolja be a kódot vagy parancsot a Cloud Shell munkamenetbe a Windows és Linux rendszereken a Ctrl+Shift+V billentyűk kiválasztásával, vagy a macOS rendszeren a Cmd+Shift+V billentyűkiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Üzembe helyező felhasználó konfigurálása

Az FTP és a helyi Git üzembe helyezhető egy Azure-webalkalmazásban egy üzembehelyezési felhasználó használatával. Miután konfigurálta az üzembehelyezési felhasználót, az összes Azure-üzembe helyezéshez használhatja. A fiókszintű üzembehelyezési felhasználónév és jelszó eltér az Azure-előfizetés hitelesítő adataitól.

Az üzembe helyezési felhasználó konfigurálásához futtassa az az webapp deployment user set parancsot az Azure Cloud Shellben. Cserélje le <a felhasználónevet> és <a jelszót> egy üzembehelyezési felhasználónevére és jelszavára.

  • A felhasználónévnek egyedinek kell lennie az Azure-ban, és a helyi Git-leküldések esetében nem tartalmazhat "@" szimbólumot.
  • A jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő három elem közül kettőnek kell lennie: betűk, számok és szimbólumok.
az webapp deployment user set --user-name <username> --password <password>

A JSON-kimenet a jelszót a következőképpen jeleníti nullmeg: . 'Conflict'. Details: 409 hibaüzenet esetén változtassa meg a felhasználónevet. Ha hibát tapasztal a 'Bad Request'. Details: 400, használjon erősebb jelszót.

Jegyezze fel a webalkalmazások üzembe helyezéséhez használandó felhasználónevet és jelszót.

Erőforráscsoport létrehozása

Az erőforráscsoport egy logikai tároló, amelybe az Azure-erőforrásokat, például webalkalmazásokat, adatbázisokat és tárfiókokat helyezik üzembe és felügyelik. Dönthet úgy is például, hogy később egyetlen egyszerű lépésben törli a teljes erőforráscsoportot.

A Cloud Shellben hozzon létre egy erőforráscsoportot az az group create paranccsal. Az alábbi példa egy myResourceGroup nevű erőforráscsoportot hoz létre a nyugat-európai helyen. Ha az App Service minden támogatott helyét ingyenes szinten szeretné megtekinteni, futtassa a az appservice list-locations --sku FREE parancsot.

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

Az erőforráscsoportot és az erőforrásokat általában a közelében található régiókban hozhatja létre.

A parancs befejeződésekor a JSON-kimenet megjeleníti az erőforráscsoport tulajdonságait.

Azure App Service csomag létrehozása

A Cloud Shellben hozzon létre egy App Service-csomagot az az appservice plan create paranccsal.

Az alábbi példa létrehoz egy App Service-csomagot myAppServicePlan az ingyenes árszabási szinten.

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

Az App Service-csomag létrehozása után az Azure CLI az alábbi példához hasonló információkat jelenít meg:

{ 
  "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
} 

Webalkalmazás létrehozása

  1. A Cloud Shellben létre kell hozni egy webalkalmazást a myAppServicePlan App Service csomagban a az webapp create paranccsal.

    A következő példában cserélje ki az <app-name> nevet egy globálisan egyedi névre (érvényes karakterek: a-z, 0-9 és -). A futásidő be van állítva PHP|7.4. Az összes támogatott futtatókörnyezet megtekintéséhez futtassa a parancsot az webapp list-runtimes.

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

    A webalkalmazás létrehozása után az Azure CLI az alábbi példához hasonló eredményeket jelenít meg:

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

    Létrehozott egy üres új webalkalmazást, amelyen engedélyezve van a git üzembe helyezése.

    Megjegyzés:

    A Git remote URL-címe megjelenik a deploymentLocalGitUrl tulajdonságban. Mentse ezt az URL-t, mert később még szüksége lesz rá.

  2. Keresse meg az újonnan létrehozott webalkalmazást.

    Így kell kinéznie az új webalkalmazásnak:

    Webalkalmazás-oldal üressége

Leküldéses üzenet küldése a Gitből az Azure-ra

  1. Mivel az main ágat telepíti, be kell állítania az App Service-alkalmazás alapértelmezett üzembehelyezési ágát main. (Lásd: Az üzembehelyezési ág módosítása.) A Cloud Shellben állítsa be az DEPLOYMENT_BRANCH alkalmazásbeállítást a az webapp config appsettings set parancs használatával.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. Visszatérve a helyi terminálablakba, adjon hozzá egy Azure távoli tárolót a helyi Git adattárához. Cserélje le a <deploymentLocalGitUrl-from-create-step> elemet arra a Git-távoli URL-címre, amelyet a Webalkalmazás létrehozása lépés során mentett el.

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. A távoli Azure-mappához történő küldéssel helyezze üzembe az alkalmazást a következő paranccsal. Amikor a Git Credential Manager kéri a hitelesítő adatok megadását, győződjön meg arról, hogy a Helyi Git-telepítés konfigurálása területen létrehozott hitelesítő adatokat adja meg, nem pedig az Azure Portalra való bejelentkezéshez használt hitelesítő adatokat.

    git push azure main
    

    Ez a parancs néhány percet igénybe vehet a futáshoz. Futtatás közben a parancs a következő példához hasonló információkat jelenít meg:

  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 <URL>
      cc39b1e..25f1805  main -> main
  

Keresse meg az alkalmazást

Keresse meg az üzembe helyezett alkalmazást a webböngészővel.

A PHP-mintakód egy Azure App Service webalkalmazásban fut.

Az Azure-ban futó mintaalkalmazás

Gratulálok! Üzembe helyezte az első PHP-alkalmazását az App Service-en.

Helyi frissítés és a kód újbóli üzembe helyezése

  1. Egy helyi szövegszerkesztővel nyissa meg a fájlt index.php a PHP alkalmazásban, és végezzen egy kis módosítást a szövegen a következő karakterláncban echo:

    echo "Hello Azure!";
    
  2. A helyi terminálablakban véglegesítse a módosításokat a Gitben, majd küldje le a kódmódosításokat az Azure-ba.

    git commit -am "updated output"
    git push azure main
    
  3. Az üzembe helyezés befejezése után térjen vissza a Tallózás az alkalmazáshoz lépésben megnyíló böngészőablakba, és frissítse az oldalt.

    Az Azure-ban futó frissített mintaalkalmazás

Az új Azure-alkalmazás kezelése

  1. Nyissa meg a Azure Portal a létrehozott webalkalmazás kezeléséhez. Keresse meg és válassza ki App Services.

    Keressen rá App Services, Azure Portal, hozzon létre PHP-webalkalmazást

  2. Válassza ki az Azure-alkalmazás nevét.

    Portálnavigáció az Azure alkalmazáshoz

    Megjelenik a webalkalmazás Áttekintés oldala. Itt olyan alapvető felügyeleti feladatokat hajthat végre, mint a Tallózás, Leállítás, Újraindítás és Törlés.

    App Service oldal az Azure portálon

    A webalkalmazás menüje különböző lehetőségeket kínál az alkalmazás konfigurálásához.

Erőforrások tisztítása

Az előző lépésekben Azure-erőforrásokat hozott létre egy erőforráscsoportban. Ha nem számít arra, hogy a jövőben szüksége lesz ezekre az erőforrásokra, törölje az erőforráscsoportot az alábbi parancs futtatásával a Cloud Shellben.

az group delete --name myResourceGroup

A parancs futtatása eltarthat egy percig.

Azure App Service nagymértékben skálázható, önjavító szolgáltatást biztosít a webes üzemeltetéshez. Ez a gyors útmutató bemutatja, hogyan helyezhet üzembe egy PHP-alkalmazást az Azure App Service a Linuxon.

Képernyőkép az Azure-ban futó mintaalkalmazásról.

Az itt található lépéseket Mac, Windows vagy Linux rendszerű gépen követheti. Az előfeltételek telepítése után körülbelül tíz percet vesz igénybe a lépések végrehajtása.

Előfeltételek

A mintaadattár letöltése

A következő lépésekben létrehozza a webalkalmazást az Azure CLI használatával, majd üzembe helyezi a minta PHP-kódot a webalkalmazásban.

Használhatja a Azure Cloud Shell.

  1. Egy terminálablakban futtassa a következő parancsokat a mintaalkalmazás helyi gépre való klónozásához, és a projekt gyökeréhez való navigáláshoz.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Az alkalmazás helyi futtatásához használja a php parancsot a beépített PHP webszerver elindításához.

    php -S localhost:8080
    
  3. Nyissa meg a(z) http://localhost:8080 cím alatti mintaalkalmazást egy webböngészőben.

    Képernyőkép a helyileg futó mintaalkalmazásról.

  4. A terminálablakban nyomja meg a Ctrl+C billentyűkombinációt a webszerverből való kilépéshez.

Az alkalmazáskód üzembe helyezése az Azure-ban

Az Azure CLI rendelkezik egy paranccsal az webapp up , amely létrehozza a szükséges erőforrásokat, és egyetlen lépésben üzembe helyezi az alkalmazást.

A terminálon telepítse a kódot a helyi mappába a az webapp up következő paranccsal:

az webapp up --runtime "PHP:8.2" --os-type=linux
  • Ha a rendszer nem ismeri fel a az parancsot, győződjön meg arról, hogy telepítve van az Azure CLI .
  • Az --runtime "PHP:8.2" argumentum létrehozza a webalkalmazást a PHP 8.2-es verziójával.
  • Az --os-type=linux argumentum létrehozza a webalkalmazást a Linux App Service.
  • Opcionálisan megadhat egy nevet az --name <app-name> argumentummal. Ha nem ad meg egyet, akkor a rendszer automatikusan létrehoz egy nevet.
  • Opcionálisan megadhatja az --location <location-name> argumentumot, ahol <location_name> egy elérhető Azure régió. A parancs futtatásával lekérheti az Azure-fiók engedélyezett régióinak az account list-locations listáját.
  • Ha megjelenik a Nem sikerült automatikusan észlelni az alkalmazás futtatási környezetét hibaüzenet, ellenőrizze, hogy a parancsot a kódkönyvtárban futtatja. További információ: Az automatikus észlelési problémák elhárítása az webapp up használatával.

A parancs futtatása eltarthat néhány percig. Futás közben üzeneteket biztosít az erőforráscsoport, a App Service csomag és az alkalmazáserőforrás létrehozásáról, a naplózás konfigurálásáról és a ZIP-telepítésről. Ezután megadja az alkalmazás URL-címét az Azure-ban.

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 <directory-location> ...
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": "<directory-path>"
}

Megjegyzés:

Az az webapp up parancs a következő műveleteket hajtja végre:

  • Hozzon létre egy alapértelmezett erőforráscsoportot.

  • Hozzon létre egy alapértelmezett App Service-csomagot.

  • Hozzon létre egy alkalmazást a megadott névvel.

  • A Zip üzembe helyezi az összes fájlt az aktuális munkakönyvtárból, és engedélyezve van a buildautomatizálás.

  • Gyorsítótárazza a paramétereket helyileg az .azure/config fájlban, hogy ne kelljen újból megadnia őket, amikor később a az webapp up vagy más az webapp parancs használatával telepít a projektmappából. A gyorsítótárazott értékek alapértelmezés szerint automatikusan használatosak.

Keresse meg az üzembe helyezett alkalmazást a webböngészőben a terminálon megadott URL-címen.

A PHP-mintakód egy Azure App Service fut.

Képernyőkép az Azure-ban futó mintaalkalmazásról, amely a Hello World-et mutatja.

Gratulálok! Az első PHP-alkalmazását telepítette az App Service-be az Azure Portálon keresztül.

Az alkalmazás frissítése és ismételt üzembe helyezése

  1. Keresse meg a php-docs-hello-world könyvtárat, és nyissa meg a index.php fájlt egy helyi szövegszerkesztővel. Végezzen egy kis módosítást a szövegen a következő karakterláncon belül echo:

    echo "Hello Azure!";
    
  2. Mentse a módosításokat, majd telepítse újra az webapp up paranccsal az alábbi argumentumokkal:

    az webapp up --runtime "PHP:8.2" --os-type=linux
    
  3. Az üzembe helyezés befejezése után térjen vissza a Tallózás az alkalmazáshoz lépésben megnyitott böngészőablakba, és frissítse az oldalt.

    Képernyőkép az Azure-ban futó frissített mintaalkalmazásról.

Az új Azure-alkalmazás kezelése

  1. Nyissa meg a Azure Portal a létrehozott webalkalmazás kezeléséhez. Keresse meg és válassza ki App Services.

    Képernyőkép a Azure Portal a keresési szövegmezőbe beírt App Services-szel.

  2. Válassza ki az Azure-alkalmazást a megnyitásához.

    Képernyőkép az Azure App Services listájáról. A bemutató alkalmazásszolgáltatás neve ki van emelve.

    Meg kell jelennie a webalkalmazás Áttekintés oldalának. Itt olyan alapvető felügyeleti feladatokat hajthat végre, mint a Tallózás, Leállítás, Újraindítás és Törlés.

    Képernyőkép a App Service áttekintő oldaláról a Azure Portal. A műveletsávon a Tallózás, Leállítás, Csere, Újraindítás és Törlés gombcsoport van kiemelve.

    A webalkalmazás menüje különböző lehetőségeket kínál az alkalmazás konfigurálásához.

Erőforrások tisztítása

Ha végzett a mintaalkalmazással, eltávolíthatja az alkalmazás összes erőforrását az Azure-ból, így elkerülheti a többletköltségeket, és letisztult Azure-előfizetést tarthat. Az erőforráscsoport eltávolítása az erőforráscsoport összes erőforrását is eltávolítja, és ez a leggyorsabb módja az alkalmazás összes Azure-erőforrásának eltávolításának.

Törölje az erőforráscsoportot az az group delete paranccsal.

az group delete --name myResourceGroup

A parancs futtatása egy percet vesz igénybe.