Kurz: Nasazení aplikace flexibilního serveru PHP a Azure Database for MySQL ve službě Aplikace Azure Service

PLATÍ PRO: Flexibilní server Azure Database for MySQL

Aplikace Azure Služba poskytuje vysoce škálovatelnou službu hostování webů s automatickými opravami pomocí operačního systému Linux.

V tomto kurzu se dozvíte, jak sestavit a nasadit ukázkovou aplikaci PHP do služby Aplikace Azure Service a jak ji integrovat s flexibilním serverem Azure Database for MySQL na back-endu. Tady použijete připojení k veřejnému přístupu (povolené IP adresy) v instanci flexibilního serveru Azure Database for MySQL pro připojení k aplikaci App Service.

V tomto kurzu se naučíte:

  • Vytvoření instance flexibilního serveru Azure Database for MySQL
  • Připojení aplikaci PHP do instance flexibilního serveru Azure Database for MySQL
  • Nasazení aplikace do služby Aplikace Azure Service
  • Aktualizace a opětovné nasazení aplikace

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete. V současné době můžete s bezplatným účtem Azure vyzkoušet flexibilní server Azure Database for MySQL zdarma po dobu 12 měsíců. Další informace najdete v tématu Bezplatné vyzkoušení flexibilního serveru Azure Database for MySQL.

Požadavky

Vytvoření flexibilního serveru Azure Database for MySQL

Nejprve zřídíme instanci flexibilního serveru Azure Database for MySQL s připojením k veřejnému přístupu, nakonfigurujeme pravidla brány firewall, která aplikaci umožní přístup k serveru, a vytvoříme produkční databázi.

Pokud chcete zjistit, jak místo toho používat připojení privátního přístupu a izolovat prostředky aplikace a databáze ve virtuální síti, přečtěte si kurz: Připojení webovou aplikaci App Services k instanci flexibilního serveru Azure Database for MySQL ve virtuální síti.

Vytvoření skupiny zdrojů

Skupina prostředků Azure je logická skupina, ve které se nasazují a spravují prostředky Azure. Pojďme vytvořit skupinu prostředků rg-php-demo pomocí příkazu az group create v umístění centralus .

  1. Otevřete příkazový řádek.
  2. Přihlaste se ke svému účtu Azure.
    az login
    
  3. Zvolte svoje předplatné Azure.
    az account set -s <your-subscription-ID>
    
  4. Vytvořte skupinu prostředků.
    az group create --name rg-php-demo --location centralus
    

Vytvoření instance flexibilního serveru Azure Database for MySQL

  1. Pokud chcete vytvořit instanci flexibilního serveru Azure Database for MySQL s připojením k veřejnému přístupu, spusťte následující příkaz az flexible-server create . Nahraďte hodnoty pro název serveru, uživatelské jméno správce a heslo.

    az mysql flexible-server create \
    --name <your-mysql-server-name> \
    --resource-group rg-php-demo \
    --location centralus \
    --admin-user <your-mysql-admin-username> \
    --admin-password <your-mysql-admin-password>
    

    Teď jste vytvořili instanci flexibilního serveru Azure Database for MySQL v oblasti CentralUS. Server je založený na skladové poště B1MS s výpočetní skladovou jednotkou B1MS s 32 GB úložištěm, 7denní dobou uchovávání záloh a nakonfigurovaným připojením k veřejnému přístupu.

  2. Dále vytvořte pravidlo brány firewall pro instanci flexibilního serveru Azure Database for MySQL, které povolí připojení klientů, spusťte následující příkaz. Když je počáteční i koncová IP adresa nastavená na 0.0.0.0, můžou se k instanci flexibilního serveru Azure připojit jenom další prostředky Azure (jako jsou aplikace App Services, virtuální počítače, cluster AKS atd.).

    az mysql flexible-server firewall-rule create \
     --name <your-mysql-server-name> \
     --resource-group rg-php-demo \
     --rule-name AllowAzureIPs \
     --start-ip-address 0.0.0.0 \
     --end-ip-address 0.0.0.0
    
  3. Pokud chcete vytvořit novou ukázkovou databázi flexibilního serveru Azure Database for MySQL pro použití s aplikací PHP, spusťte následující příkaz:

    az mysql flexible-server db create \
    --resource-group rg-php-demo \
    --server-name <your-mysql-server-name> \
    --database-name sampledb
    

Sestavení aplikace

Pro účely tohoto kurzu použijeme ukázkovou aplikaci PHP, která zobrazuje a spravuje katalog produktů. Aplikace poskytuje základní funkce, jako je zobrazení produktů v katalogu, přidání nových produktů, aktualizace stávajících cen položek a odebrání produktů.

Pokud chcete získat další informace o kódu aplikace, pokračujte a prozkoumejte aplikaci v úložišti GitHub. Informace o připojení aplikace PHP k flexibilnímu serveru Azure Database for MySQL najdete v rychlém startu: Připojení pomocí PHP.

V tomto kurzu přímo naklonujeme programovou ukázkovou aplikaci a naučíme se ji nasadit ve službě Aplikace Azure Service.

  1. Pokud chcete naklonovat úložiště ukázkové aplikace a přejít do kořenového adresáře úložiště, spusťte následující příkazy:

    git clone https://github.com/Azure-Samples/php-mysql-app-service.git
    cd php-mysql-app-service
    
  2. Spuštěním následujícího příkazu se ujistěte, že je mainvýchozí větev .

    git branch -m main
    

Vytvoření a konfigurace webové aplikace služby Aplikace Azure

Ve službě Aplikace Azure (Web Apps, API Apps nebo Mobile Apps) se aplikace vždy spouští v plánu služby App Service. Plán služby App Service definuje sadu výpočetních prostředků pro provozování webové aplikace. V tomto kroku vytvoříme plán služby Aplikace Azure a webovou aplikaci App Service, která bude hostovat ukázkovou aplikaci.

  1. Pokud chcete vytvořit plán služby App Service na cenové úrovni Free, spusťte následující příkaz:

    az appservice plan create --name plan-php-demo \
    --resource-group rg-php-demo \
    --location centralus \
    --sku FREE --is-linux
    
  2. Pokud chcete nasadit aplikaci do webové aplikace Azure pomocí metod nasazení, jako je FTP nebo Místní Git, musíte nakonfigurovat uživatele nasazení s uživatelským jménem a heslem. Jakmile nakonfigurujete uživatele nasazení, můžete ho využít pro všechna nasazení služby Aplikace Azure Service.

    az webapp deployment user set \
    --user-name <your-deployment-username> \
    --password <your-deployment-password>
    
  3. Pokud chcete vytvořit webovou aplikaci App Service s modulem runtime PHP 8.0 a nakonfigurovat možnost místního nasazení Gitu pro nasazení aplikace z úložiště Git na místním počítači, spusťte následující příkaz. Nahraďte <your-app-name> globálně jedinečným názvem aplikace (platné znaky jsou a-z, 0-9 a -).

    az webapp create \
    --resource-group rg-php-demo \
    --plan plan-php-demo \
    --name <your-app-name> \
    --runtime "PHP|8.0" \
    --deployment-local-git
    

    Důležité

    Ve výstupu Azure CLI se adresa URL vzdáleného úložiště Git zobrazí ve vlastnosti deploymentLocalGitUrl s formátem https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Uložte tuto adresu URL, protože ji budete potřebovat později.

  4. Dále nakonfigurujeme nastavení připojení k flexibilní databázi serveru Azure Database for MySQL ve webové aplikaci.

    Soubor config.php v ukázkové aplikaci PHP načte informace o připojení k databázi (název serveru, název databáze, uživatelské jméno serveru a heslo) z proměnných prostředí pomocí getenv() funkce. Pokud chcete ve službě App Service nastavit proměnné prostředí jako aplikační Nastavení (appsettings), spusťte následující příkaz:

    az webapp config appsettings set \
    --name <your-app-name> \
    --resource-group rg-php-demo \
    --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \
    DB_DATABASE="sampledb" \
    DB_USERNAME="<your-mysql-admin-username>" \
    DB_PASSWORD="<your-mysql-admin-password>" \
    MYSQL_SSL="true"
    

    Alternativně můžete použít service Připojení or k navázání připojení mezi aplikací App Service a instancí flexibilního serveru Azure Database for MySQL. Další podrobnosti najdete v tématu Integrace flexibilního serveru Azure Database for MySQL se službou Service Připojení or.

Nasazení aplikace pomocí místního Gitu

Teď nasadíme ukázkovou aplikaci PHP do služby Aplikace Azure Service pomocí možnosti Místní nasazení Gitu.

  1. Vzhledem k tomu, že nasazujete hlavní větev, musíte pro aplikaci App Service nastavit výchozí větev nasazení na hlavní. Pokud chcete nastavit DEPLOYMENT_BRANCH v Nastavení aplikace, spusťte následující příkaz:

    az webapp config appsettings set \
    --name <your-app-name> \
    --resource-group rg-php-demo \
    --settings DEPLOYMENT_BRANCH='main'
    
  2. Ověřte, že jste v kořenovém adresáři úložiště aplikace.

  3. Pokud chcete přidat vzdálené úložiště Azure do místního úložiště Git, spusťte následující příkaz. Nahraďte <deploymentLocalGitUrl> adresou URL vzdáleného úložiště Git, který jste uložili v kroku Vytvoření webové aplikace služby App Service.

    git remote add azure <deploymentLocalGitUrl>
    
  4. Aplikaci nasadíte spuštěním git push následujícího příkazu do vzdáleného prostředí Azure. Když vás Git Credential Manager vyzve k zadání přihlašovacích údajů, zadejte přihlašovací údaje nasazení, které jste vytvořili v kroku Konfigurace uživatele nasazení.

    git push azure main
    

Úspěšné nasazení může trvat několik minut.

Otestování aplikace

Nakonec aplikaci otestujte tak, že přejdete na https://<app-name>.azurewebsites.netpoložku a pak přidáte, zobrazíte, aktualizujete nebo odstraníte položky z katalogu produktů.

Screenshot showing the sample Product Catalog PHP Web App.

Gratulujeme! Úspěšně jste nasadili ukázkovou aplikaci PHP do služby Aplikace Azure Service a integrovali ji s flexibilním serverem Azure Database for MySQL na back-endu.

Aktualizace a opětovné nasazení aplikace

Pokud chcete aktualizovat aplikaci Azure, proveďte potřebné změny kódu, potvrďte všechny změny v Gitu a pak nasdílejte změny kódu do Azure.

git add .
git commit -m "Update Azure app"
git push azure main

git push Po dokončení přejděte do aplikace Azure nebo ji aktualizujte a otestujte nové funkce.

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

V tomto kurzu jste vytvořili všechny 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 rg-php-demo

Další kroky