Sdílet prostřednictvím


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í aplikace PHP k instanci 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.

Informace o tom, 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, najdete v tématu Kurz: Připojení webové aplikace 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 nastavení aplikace (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"
    

    Případně můžete pomocí konektoru služby vytvořit 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 s konektorem služby.

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 části 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ů.

Snímek obrazovky znázorňující ukázkovou webovou aplikaci PHP katalogu produktů

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