PHP-webalkalmazás létrehozása a Azure-alkalmazás Szolgáltatásban

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

A Cloud Shellben az Azure CLI-vel létrehozza a webalkalmazást, a Gittel pedig üzembe helyezi a PHP-mintakódot a webalkalmazásban.

Sample app running in Azure

Ezeket a lépéseket Mac, Windows vagy Linux rendszert futtató gépen is követheti. Az előfeltételek telepítése után a lépések végrehajtása nagyjából öt percet vesz igénybe.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

A gyorsútmutató elvégzéséhez:

Minta helyi letöltése

  1. Futtassa a következő parancsokat egy terminálablakban. Klónozza a mintaalkalmazást a helyi gépre, és megnyitja a mintakódot tartalmazó könyvtárat.

    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
    

    Tipp.

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

Az alkalmazás futtatása helyben

  1. Futtassa helyileg az alkalmazást, hogy lássa, hogyan fog kinézni az Azure-ban üzembe helyezve. Nyisson meg egy terminálablakot, és a php parancs használatával indítsa el a beépített PHP-webkiszolgálót.

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

    Megjelenik a lapon megjelenő mintaalkalmazás "Helló világ!" alkalmazás! üzenete.

    Sample app running locally

  3. A terminálablakban nyomja le a Ctrl+C billentyűkombinációt a webkiszolgálóból történő kilépéshez.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Screenshot that shows an example of Try It for Azure Cloud Shell.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Button to launch Azure Cloud Shell.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Screenshot that shows the Cloud Shell button in the Azure portal

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

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

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való 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ént nulljeleníti meg: . 'Conflict'. Details: 409 hibaüzenet esetén változtassa meg a felhasználónevet. 'Bad Request'. Details: 400 hibaüzenet esetén 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. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot a Nyugat-Európa helyen. Az Ingyenes szintű App Service-t támogató összes hely megtekintéséhez futtassa az 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 egy myAppServicePlan nevű App Service-csomag létrehozását mutatja be az INGYENES tarifacsomagban:

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 az az webapp create paranccsal hozzon létre egy webalkalmazást a myAppServicePlan App Service-csomagban.

    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 futtatókörnyezet beállítása PHP|7.4 lett. Az összes támogatott futtatókörnyezet megtekintéséhez futtassa az az webapp list-runtimes parancsot.

    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 '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. >
     }
     

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

    Feljegyzés

    A távoli Git URL-címe a deploymentLocalGitUrl tulajdonságban látható, a következő formátumban: https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Mentse ezt az URL-t, mert később még szüksége lesz rá.

  2. Tallózással keresse meg az újonnan létrehozott webalkalmazást. Cserélje le <az alkalmazásnevet> az előző lépésben létrehozott egyedi alkalmazásnévre.

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

    Az új webalkalmazásnak így kell kinéznie:

    Empty web app page

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

  1. Mivel üzembe helyezi az main ágat, be kell állítania az App Service-alkalmazás main alapértelmezett üzembehelyezési ágát (lásd: Ü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 paranccsal.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. A helyi terminálablakba visszatérve adjon hozzá egy távoli Azure-mappát a helyi Git-adattárhoz. Cserélje le <a deploymentLocalGitUrl-from-create-step> elemet a webalkalmazás létrehozásakor mentett Git-távoli git URL-címére.

    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 hitelesítő adatok megadását kéri, győződjön meg arról, hogy az Üzembe helyezési felhasználó 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
    

    A parancs futtatása eltarthat néhány percig. 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 https://<app-name>.scm.azurewebsites.net/<app-name>.git
      cc39b1e..25f1805  main -> main
  

Az alkalmazás megkeresése tallózással

Tallózással keresse meg az üzembe helyezett alkalmazást a webböngésző használatával.

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

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

Sample app running in Azure

Gratulálunk! Elvégezte az első PHP-webapp üzembe helyezését az App Service-ben.

A kód frissítése helyileg és ismételt üzembe helyezése

  1. Egy helyi szövegszerkesztő használatával nyissa meg a index.php fájlt a PHP-alkalmazáson belül, majd módosítsa kissé annak szövegét a echo melletti sztringen belül:

    echo "Hello Azure!";
    
  2. A helyi terminálablakban mentse a módosításokat a Gitben, majd továbbítsa a kód módosításait az Azure-ba.

    git commit -am "updated output"
    git push azure main
    
  3. Az üzembe helyezés befejezését követően térjen vissza Az alkalmazás megkeresése tallózással lépésben megnyitott böngészőablakra, és frissítse az oldalt.

    Updated sample app running in Azure

Az új Azure-alkalmazás kezelése

  1. A létrehozott webalkalmazás felügyeletéhez ugorjon az Azure Portalra. Keresse meg és válassza ki az App Servicest.

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

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

    Portal navigation to Azure app

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

    App Service page in Azure portal

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

Az erőforrások eltávolítása

Az előző lépésekben Azure-erőforrásokat hozott létre egy erőforráscsoportban. Ha várhatóan nem lesz szüksége ezekre az erőforrásokra a jövőben, törölje az erőforráscsoportot a következő parancs Cloud Shellben történő futtatásával:

az group delete --name myResourceGroup

A parancs futtatása egy percig is eltarthat.

Az Azure App Service egy hatékonyan méretezhető, önjavító webes üzemeltetési szolgáltatás. Ez a rövid útmutató bemutatja, hogyan helyezhet üzembe PHP-alkalmazást a linuxos Azure-alkalmazás szolgáltatásban.

Screenshot of the sample app running in Azure.

Ezeket a lépéseket Mac, Windows vagy Linux rendszert futtató gépen is követheti. Az előfeltételek telepítése után a lépések végrehajtása nagyjából öt percet vesz igénybe.

A rövid útmutató elvégzéséhez a következőkre lesz szüksége:

1 – A mintaadattár lekérése

A webalkalmazást az Azure CLI használatával hozhatja létre a Cloud Shellben, a Gittel pedig php-mintakódot helyezhet üzembe a webalkalmazásban.

  1. A terminálablakban futtassa a következő parancsokat a mintaalkalmazás klónozásához a helyi gépre, és keresse meg a projekt gyökerét.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Az alkalmazás helyi futtatásához a php paranccsal indítsa el a beépített PHP-webkiszolgálót.

    php -S localhost:8080
    
  3. Tallózással keresse meg a mintaalkalmazást http://localhost:8080 egy webböngészőben.

    Screenshot of the sample app running locally.

  4. A terminálablakban nyomja le a Ctrl+C billentyűkombinációt a webkiszolgálóból történő kilépéshez.

2 – 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 telepíti az alkalmazást.

A terminálban helyezze üzembe a kódot a helyi mappában a az webapp up következő paranccsal:

az webapp up --runtime "PHP:8.2" --os-type=linux
  • Ha a az parancs nem ismerhető fel, 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 az App Service-ben Linuxon.
  • Igény szerint megadhat egy nevet az argumentummal --name <app-name>. Ha nem ad meg egyet, a rendszer automatikusan létrehoz egy nevet.
  • Opcionálisan megadhatja azt az argumentumot --location <location-name> , amely <location_name> egy elérhető Azure-régiót tartalmaz. A parancs futtatásával lekérheti az Azure-fiók engedélyezett régióinak az account list-locations listáját.
  • Ha a "Nem sikerült automatikusan észlelni az alkalmazás futtatókörnyezeti vermét" hibaüzenet jelenik meg, győződjön meg arról, hogy a parancsot a kódkönyvtárban futtatja (lásd : Az az webapp up automatikus észlelési problémáinak elhárítása).

A parancs futtatása eltarthat néhány percig. Miközben fut, üzeneteket küld az erőforráscsoport, az 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és elvégzéséről. Ekkor megjelenik a következő üzenet: "Elindíthatja az alkalmazást http://< app-name.azurewebsites.net>", amely az alkalmazás URL-címe 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 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"
}

Feljegyzé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 projektmappából vagy más az webapp parancsokkal az webapp up telepíti őket. 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 az URL-címen http://<app-name>.azurewebsites.net.

A PHP-mintakód egy Azure-alkalmazás szolgáltatásban fut.

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

Gratulálunk! Üzembe helyezte az első PHP-alkalmazást az App Service-ben az Azure Portal használatával.

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

  1. Egy helyi szövegszerkesztő használatával nyissa meg a index.php fájlt a PHP-alkalmazáson belül, majd módosítsa kissé annak szövegét a echo melletti sztringen belül:

    echo "Hello Azure!";
    
  2. Mentse a módosításokat, majd telepítse újra az alkalmazást az 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 az alkalmazás tallózása lépés során megnyitott böngészőablakba, és frissítse a lapot.

    Screenshot of the updated sample app running in Azure.

4 – Az új Azure-alkalmazás kezelése

  1. A létrehozott webalkalmazás felügyeletéhez ugorjon az Azure Portalra. Keresse meg és válassza ki az App Servicest.

    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. Válassza ki az Azure-alkalmazás nevét.

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

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

    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.

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

5 – Erőforrások törlése

Ha végzett a mintaalkalmazással, eltávolíthatja az alkalmazás összes erőforrását az Azure-ból. Segít elkerülni a többletköltségeket, és az Azure-előfizetést rendetlenné teszi. 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.

Következő lépések