Vytvoření webové aplikace PHP v Azure App Service

Azure App Service poskytuje vysoce škálovatelnou službu pro hostování webů s automatickými opravami. Tento rychlý úvodní kurz ukazuje, jak nasadit aplikaci PHP do Azure App Service ve Windows.

Pomocí Azure CLI ve službě Cloud Shell vytvoříte webovou aplikaci a pomocí Gitu do této webové aplikace nasadíte vzorový kód PHP.

Ukázková aplikace spuštěná v Azure

Tento postup můžete použít v případě počítačů se systémem Mac, Windows nebo Linux. Pokud máte nainstalované všechny požadované prostředky, zabere vám tento postup zhruba pět minut.

Pokud nemáte předplatné Azure, vytvořte si bezplatný účet Azure , než začnete.

Požadavky

K provedení kroků v tomto kurzu Rychlý start je potřeba:

Místní stažení ukázky

  1. V okně terminálu spusťte následující příkazy. Naklonuje ukázkovou aplikaci do místního počítače a přejde do adresáře obsahujícího ukázkový kód.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Ujistěte se, že výchozí větev je main.

    git branch -m main
    

    Tip

    App Service změnu názvu větve nevyžaduje. Vzhledem k tomu, že mnoho úložišť mění výchozí větev na main, v tomto rychlém startu se také dozvíte, jak nasadit úložiště z main.

Místní spuštění aplikace

  1. Spusťte aplikaci místně, abyste viděli, jak by měla vypadat po nasazení do Azure. Otevřete okno terminálu a pomocí příkazu php spusťte integrovaný webový server PHP.

    php -S localhost:8080
    
  2. Otevřete webový prohlížeč a přejděte do ukázkové aplikace na adrese http://localhost:8080.

    Zobrazí se zpráva Hello World! z ukázkové aplikace zobrazené na stránce.

    Ukázková aplikace spuštěná místně

  3. V okně terminálu ukončete webový server stisknutím Ctrl + C.

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Ke spuštění kódu v tomto článku můžete použít předinstalované příkazy Cloud Shell, aniž byste museli cokoli instalovat do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
V pravém horním rohu bloku kódu nebo příkazů vyberte Vyzkoušet . Výběrem možnosti Vyzkoušet se kód nebo příkaz automaticky nezkopíruje do Cloud Shell. Snímek obrazovky znázorňující příklad funkce Try It for Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Snímek obrazovky, který ukazuje, jak spustit Cloud Shell v novém okně
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Snímek obrazovky znázorňující tlačítko Cloud Shell v Azure Portal

Použití Azure Cloud Shell:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat na bloku kódu (nebo bloku příkazů) kód nebo příkaz zkopírujte.

  3. Vložte kód nebo příkaz do relace Cloud Shell tak, že vyberete Ctrl+Shift+V ve Windows a Linuxu nebo vyberete Cmd+Shift+V v macOS.

  4. Výběrem klávesy Enter spusťte kód nebo příkaz.

Konfigurace uživatele nasazení

FTP a místní Git můžou nasadit do webové aplikace Azure pomocí uživatele nasazení. Jakmile nakonfigurujete uživatele nasazení, můžete ho použít pro všechna nasazení Azure. Uživatelské jméno a heslo nasazení na úrovni účtu se liší od přihlašovacích údajů předplatného Azure.

Pokud chcete nakonfigurovat uživatele nasazení, spusťte příkaz az webapp deployment user set v Azure Cloud Shell. Uživatelské jméno> a <heslo> nahraďte <uživatelským jménem a heslem pro nasazení.

  • Uživatelské jméno musí být v rámci Azure jedinečné a u místních nabízených oznámení Git nesmí obsahovat symbol @.
  • Heslo musí mít délku nejméně osm znaků a musí obsahovat dva z následujících tří prvků: písmena, číslice a symboly.
az webapp deployment user set --user-name <username> --password <password>

Ve výstupu JSON se zobrazí heslo jako null. Pokud se zobrazí chyba 'Conflict'. Details: 409, změňte uživatelské jméno. Pokud se zobrazí chyba 'Bad Request'. Details: 400, použijte silnější heslo.

Poznamenejte si uživatelské jméno a heslo, které chcete použít k nasazení webových aplikací.

Vytvoření skupiny prostředků

Skupina prostředků je logický kontejner, do kterého se nasazují a spravují prostředky Azure, jako jsou webové aplikace, databáze a účty úložiště. Později se například můžete rozhodnout odstranit celou skupinu prostředků v jednom jednoduchém kroku.

Ve službě Cloud Shell vytvořte skupinu prostředků pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění Západní Evropa. Pokud chcete zobrazit všechna podporovaná umístění pro službu App Service na úrovni Free, spusťte příkaz az appservice list-locations --sku FREE.

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

Obvykle budete svoji skupinu prostředků a prostředky vytvářet v oblasti, kterou máte blízko.

Po dokončení příkazu se ve výstupu JSON zobrazí vlastnosti skupiny prostředků.

Vytvoření plánu služby Azure App Service

Ve službě Cloud Shell vytvořte pomocí příkazu az appservice plan create plán služby App Service.

Následující příklad vytvoří plán služby App Service s názvem myAppServicePlan v cenové úrovni Free:

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

Po vytvoření plánu služby App Service se v rozhraní příkazového řádku Azure zobrazí podobné informace jako v následujícím příkladu:

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

Vytvoření webové aplikace

  1. Ve službě Cloud Shell pomocí příkazu az webapp create vytvořte v plánu služby App Service myAppServicePlan webovou aplikaci.

    V následujícím příkladu nahraďte <app-name> globálně jedinečným názvem aplikace (platné znaky jsou a-z, 0-9 a -). Modul runtime je nastavený na PHP|7.4. Pokud chcete zobrazit všechny podporované moduly runtime, spusťte příkaz az webapp list-runtimes.

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

    Po vytvoření webové aplikace Azure CLI zobrazí výstup podobný následujícímu příkladu:

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

    Vytvořili jste prázdnou novou webovou aplikaci s povoleným nasazením Gitu.

    Poznámka

    Adresa URL vzdáleného úložiště Git se zobrazuje ve vlastnosti deploymentLocalGitUrl ve formátu https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Tuto adresu URL si uložte, protože ji budete potřebovat později.

  2. Přejděte do vaší nově vytvořené webové aplikace. Nahraďte <název> aplikace jedinečným názvem aplikace vytvořeným v předchozím kroku.

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

    Nová webová aplikace by měla vypadat takto:

    Prázdná stránka webové aplikace

Přenos z Gitu do Azure

  1. Vzhledem k tomu, že nasazujete main větev, musíte pro aplikaci App Service main nastavit výchozí větev nasazení (viz Změna větve nasazení). V Cloud Shell nastavte DEPLOYMENT_BRANCH nastavení aplikace pomocí az webapp config appsettings set příkazu .

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. Zpět v okně místního terminálu přidejte vzdálené úložiště Azure do místního úložiště Git. Nahraďte <deploymentLocalGitUrl-from-create-step> adresou URL vzdáleného úložiště Git, kterou jste uložili v části Vytvoření webové aplikace.

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. Nasaďte aplikaci do vzdáleného úložiště Azure pomocí následujícího příkazu. Když vás Správce přihlašovacích údajů Gitu vyzve k zadání přihlašovacích údajů, ujistěte se, že jste zadali přihlašovací údaje, které jste vytvořili v části Konfigurace uživatele nasazení, a ne přihlašovací údaje, které používáte pro přihlášení k Azure Portal.

    git push azure main
    

    Spuštění tohoto příkazu může trvat několik minut. Při spuštění příkaz zobrazí podobné informace jako v následujícím příkladu:

  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
  

Přechod do aplikace

V prohlížeči zadejte adresu nasazené aplikace.

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

Vzorový kód PHP je spuštěný ve webové aplikaci služby Azure App Service.

Ukázková aplikace spuštěná v Azure

Gratulujeme! Nasadili jste svoji první aplikaci v PHP do služby App Service.

Místní aktualizace a opětovné nasazení kódu

  1. Pomocí místního textového editoru otevřete soubor index.php, který je součástí PHP aplikace, a proveďte malou změnu textu v řetězci vedle echo:

    echo "Hello Azure!";
    
  2. V místním okně terminálu potvrďte změny v Gitu a potom nasdílejte změny kódu do Azure.

    git commit -am "updated output"
    git push azure main
    
  3. Po dokončení nasazení se vraťte do okna prohlížeče, které se otevřelo v kroku Přechod do aplikace, a aktualizujte zobrazení stránky.

    Aktualizovaná ukázková aplikace spuštěná ve službě Azure

Správa nové aplikace Azure

  1. Pokud chcete spravovat webovou aplikaci, kterou jste vytvořili, přejděte na web Azure Portal. Vyhledejte a vyberte App Services.

    Vyhledejte App Services, Azure Portal, vytvořte webovou aplikaci PHP.

  2. Vyberte název vaší aplikace Azure.

    Přechod do aplikace Azure na portálu

    Zobrazí se stránka Přehled vaší webové aplikace. Tady můžete provádět základní úlohy správy, jako je procházení, zastavení, restartování a odstranění.

    Stránka služby App Service na webu Azure Portal

    Nabídka webové aplikace nabízí různé možnosti konfigurace aplikace.

Vyčištění prostředků

V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Pokud předpokládáte, že už tyto prostředky nebudete potřebovat, odstraňte skupinu prostředků spuštěním následujícího příkazu ve službě Cloud Shell:

az group delete --name myResourceGroup

Spuštění tohoto příkazu může trvat přibližně minut.

Azure App Service poskytuje vysoce škálovatelnou službu pro hostování webů s automatickými opravami. Tento rychlý start ukazuje, jak nasadit aplikaci PHP do Azure App Service v Linuxu.

Snímek obrazovky s ukázkovou aplikací spuštěnou v Azure

Tento postup můžete použít v případě počítačů se systémem Mac, Windows nebo Linux. Pokud máte nainstalované všechny požadované prostředky, zabere vám tento postup zhruba pět minut.

Co budete potřebovat k dokončení tohoto rychlého startu:

1– Získání ukázkového úložiště

Webovou aplikaci můžete vytvořit pomocí Azure CLI v Cloud Shell a pomocí Gitu do webové aplikace nasadit ukázkový kód PHP.

  1. V okně terminálu spusťte následující příkazy. Naklonuje ukázkovou aplikaci do místního počítače a přejde do adresáře obsahujícího vzorový kód.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Pokud chcete aplikaci spustit místně, pomocí php příkazu spusťte integrovaný webový server PHP.

    php -S localhost:8080
    
  3. Ve webovém prohlížeči přejděte na ukázkovou aplikaci na http://localhost:8080 adrese .

    Snímek obrazovky s místně spuštěnou ukázkovou aplikací

  4. V okně terminálu ukončete webový server stisknutím Ctrl + C.

2. Nasazení kódu aplikace do Azure

Azure CLI obsahuje příkaz az webapp up , který v jednom kroku vytvoří potřebné prostředky a nasadí vaši aplikaci.

V terminálu nasaďte kód do místní složky pomocí az webapp up příkazu :

az webapp up --runtime "PHP:8.0" --os-type=linux
  • Pokud příkaz az není rozpoznán, ujistěte se, že máte nainstalované Rozhraní příkazového řádku Azure .
  • Argument --runtime "PHP:8.0" vytvoří webovou aplikaci s PHP verze 8.0.
  • Argument --os-type=linux vytvoří webovou aplikaci na App Service v Linuxu.
  • Volitelně můžete zadat název s argumentem --name <app-name>. Pokud ho nezadáte, vygeneruje se automaticky název.
  • Volitelně můžete zahrnout argument --location <location-name> , kde <location_name> je dostupná oblast Azure. Seznam povolených oblastí pro váš účet Azure můžete načíst spuštěním az account list-locations příkazu .
  • Pokud se zobrazí chyba Nepodařilo se automaticky rozpoznat zásobník modulu runtime vaší aplikace, ujistěte se, že spouštíte příkaz v adresáři kódu (viz Řešení potíží s automatickým zjišťováním pomocí příkazu az webapp up).

Dokončení příkazu může trvat několik minut. Při spuštění poskytuje zprávy o vytvoření skupiny prostředků, plánu App Service a prostředku aplikace, konfiguraci protokolování a nasazení souboru ZIP. Zobrazí se zpráva "Aplikaci můžete spustit na adrese http://< názvě>_aplikace.azurewebsites.net", což je adresa URL aplikace v 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.0",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "//home//msangapu//myPhpApp"
}

Poznámka

Příkaz az webapp up provádí tyto akce:

  • Vytvořte výchozí skupinu prostředků.

  • Vytvořte výchozí plán App Service.

  • Vytvořte aplikaci se zadaným názvem.

  • Zip nasadí všechny soubory z aktuálního pracovního adresáře s povolenou automatizací sestavení.

  • Uložte parametry do mezipaměti místně v souboru .azure/config , abyste je nemuseli znovu zadávat při pozdějším nasazení pomocí az webapp up nebo jiných az webapp příkazů ze složky projektu. Hodnoty uložené v mezipaměti se ve výchozím nastavení používají automaticky.

Přejděte do nasazené aplikace ve webovém prohlížeči na adrese URL http://<app-name>.azurewebsites.net.

Ukázkový kód PHP běží v Azure App Service.

Snímek obrazovky ukázkové aplikace spuštěné v Azure s Hello World!

Gratulujeme! Nasadili jste svou první aplikaci PHP do App Service pomocí Azure Portal.

3 – Aktualizace a opětovné nasazení aplikace

  1. Pomocí místního textového editoru otevřete soubor index.php, který je součástí PHP aplikace, a proveďte malou změnu textu v řetězci vedle echo:

    echo "Hello Azure!";
    
  2. Uložte změny a pak aplikaci znovu nasaďte pomocí příkazu az webapp up s těmito argumenty:

    az webapp up --runtime "PHP:8.0" --os-type=linux
    
  3. Po dokončení nasazení se vraťte do okna prohlížeče, které se otevřelo v kroku Přechod do aplikace, a aktualizujte zobrazení stránky.

    Snímek obrazovky s aktualizovanou ukázkovou aplikací spuštěnou v Azure

4. Správa nové aplikace Azure

  1. Pokud chcete spravovat webovou aplikaci, kterou jste vytvořili, přejděte na web Azure Portal. Vyhledejte a vyberte App Services.

    Snímek obrazovky s Azure Portal s textem App Services zadaným do vyhledávacího textového pole Ve výsledcích je zvýrazněná možnost App Services v části Služby.

  2. Vyberte název aplikace Azure.

    Snímek obrazovky se seznamem služeb App Services v Azure Název ukázkové služby App Service je zvýrazněný.

    Zobrazí se stránka Přehled vaší webové aplikace. Tady můžete provádět základní úlohy správy, jako je procházení, zastavení, restartování a odstranění.

    Snímek obrazovky se stránkou přehledu App Service v Azure Portal Na panelu akcí je zvýrazněná skupina tlačítka Procházet, Zastavit, Prohodit (zakázáno), Restartovat a Odstranit.

    Nabídka webové aplikace nabízí různé možnosti konfigurace aplikace.

5. Vyčištění prostředků

Až ukázkovou aplikaci dokončíte, můžete z Azure odebrat všechny prostředky aplikace. Nebudou se vám účtovat žádné další poplatky a vaše předplatné Azure zůstane v přehledu. Odebráním skupiny prostředků se také odeberou všechny prostředky ve skupině prostředků a je to nejrychlejší způsob, jak odebrat všechny prostředky Azure pro vaši aplikaci.

Odstraňte skupinu prostředků pomocí příkazu az group delete .

az group delete --name myResourceGroup

Spuštění tohoto příkazu může trvat přibližně minut.

Další kroky