Share via


Tutorial: Implantar um PHP e um Banco de Dados do Azure para MySQL - Aplicativo de Servidor Flexível no Serviço de Aplicativo do Azure

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Flexível

O Serviço de Aplicativo do Azure fornece um serviço de hospedagem na Web altamente escalável e auto-corrigido usando o sistema operacional Linux.

Este tutorial mostra como criar e implantar um aplicativo PHP de exemplo no Serviço de Aplicativo do Azure e integrá-lo ao Banco de Dados do Azure para servidor flexível MySQL no back-end. Aqui você usará a conectividade de acesso público (endereços IP permitidos) na instância flexível do servidor flexível do Banco de Dados do Azure para MySQL para se conectar ao aplicativo do Serviço de Aplicativo.

Neste tutorial, irá aprender a:

  • Criar um Banco de Dados do Azure para instância de servidor flexível do MySQL
  • Conectar um aplicativo PHP à instância flexível do servidor do Banco de Dados do Azure para MySQL
  • Implantar o aplicativo no Serviço de Aplicativo do Azure
  • Atualizar e reimplementar a aplicação

Se você não tiver uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar. Atualmente, com uma conta gratuita do Azure, você pode experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente por 12 meses. Para obter mais informações, consulte Experimente o Banco de Dados do Azure para MySQL - Servidor flexível gratuitamente.

Pré-requisitos

Criar um Banco de Dados do Azure para MySQL - Servidor Flexível

Primeiro, provisionaremos um Banco de Dados do Azure para instância de servidor flexível do MySQL com conectividade de acesso público, configuraremos regras de firewall para permitir que o aplicativo acesse o servidor e criaremos um banco de dados de produção.

Para saber como usar a conectividade de acesso privado em vez disso e isolar recursos de aplicativo e banco de dados em uma rede virtual, consulte Tutorial: Conectar um aplicativo Web de Serviços de Aplicativo a uma instância de servidor flexível do Banco de Dados do Azure para MySQL em uma rede virtual.

Criar um grupo de recursos

Um grupo de recursos do Azure é um grupo lógico, no qual os recursos do Azure são implementados e geridos. Vamos criar um grupo de recursos rg-php-demo usando o comando az group create no local centralus .

  1. Abra o prompt de comando.
  2. Inicie sessão na sua conta do Azure.
    az login
    
  3. Escolha a sua subscrição do Azure.
    az account set -s <your-subscription-ID>
    
  4. Crie o grupo de recursos.
    az group create --name rg-php-demo --location centralus
    

Criar um Banco de Dados do Azure para instância de servidor flexível do MySQL

  1. Para criar uma instância de servidor flexível do Banco de Dados do Azure para MySQL com conectividade de acesso público, execute o seguinte comando az flexible-server create . Substitua os valores para nome do servidor, nome de usuário administrador e senha.

    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>
    

    Agora você criou uma instância de servidor flexível do Banco de Dados do Azure para MySQL na região dos EUA Central. O servidor é baseado no SKU de computação Burstable B1MS, com 32 GB de armazenamento, um período de retenção de backup de 7 dias e configurado com conectividade de acesso público.

  2. Em seguida, para criar uma regra de firewall para sua instância de servidor flexível do Banco de Dados do Azure para MySQL para permitir conexões de cliente, execute o seguinte comando. Quando o IP inicial e o IP final são definidos como 0.0.0.0, apenas outros recursos do Azure (como aplicativos de Serviços de Aplicativo, VMs, cluster AKS, etc.) podem se conectar ao Banco de Dados do Azure para instância de servidor flexível MySQL.

    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. Para criar um novo banco de dados de produção de servidor flexível do Azure para MySQL sampledb para usar com o aplicativo PHP, execute o seguinte comando:

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

Compilar a aplicação

Para os fins deste tutorial, usaremos um aplicativo PHP de exemplo que exibe e gerencia um catálogo de produtos. O aplicativo fornece funcionalidades básicas, como visualizar os produtos no catálogo, adicionar novos produtos, atualizar os preços dos itens existentes e remover produtos.

Para saber mais sobre o código do aplicativo, vá em frente e explore o aplicativo no repositório GitHub. Para saber como conectar um aplicativo PHP ao Banco de Dados do Azure para servidor flexível MySQL, consulte Guia de início rápido: conectar usando PHP.

Neste tutorial, clonaremos diretamente o aplicativo de exemplo codificado e aprenderemos a implantá-lo no Serviço de Aplicativo do Azure.

  1. Para clonar o repositório de aplicativos de exemplo e alterar para a raiz do repositório, execute os seguintes comandos:

    git clone https://github.com/Azure-Samples/php-mysql-app-service.git
    cd php-mysql-app-service
    
  2. Execute o seguinte comando para garantir que a ramificação padrão seja main.

    git branch -m main
    

Criar e configurar um Aplicativo Web do Serviço de Aplicativo do Azure

No Serviço de Aplicativo do Azure (Aplicativos Web, Aplicativos de API ou Aplicativos Móveis), um aplicativo sempre é executado em um plano do Serviço de Aplicativo. Um plano do Serviço de Aplicações define um conjunto de recursos de computação para a execução da aplicação Web. Nesta etapa, criaremos um plano do Serviço de Aplicativo do Azure e um aplicativo Web do Serviço de Aplicativo dentro dele, que hospedará o aplicativo de exemplo.

  1. Para criar um plano do Serviço de Aplicativo na camada de preços Gratuito, execute o seguinte comando:

    az appservice plan create --name plan-php-demo \
    --resource-group rg-php-demo \
    --location centralus \
    --sku FREE --is-linux
    
  2. Se você quiser implantar um aplicativo no aplicativo Web do Azure usando métodos de implantação como FTP ou Git Local, precisará configurar um usuário de implantação com credenciais de nome de usuário e senha. Depois de configurar seu usuário de implantação, você pode aproveitá-lo para todas as suas implantações do Serviço de Aplicativo do Azure.

    az webapp deployment user set \
    --user-name <your-deployment-username> \
    --password <your-deployment-password>
    
  3. Para criar um aplicativo Web do Serviço de Aplicativo com tempo de execução do PHP 8.0 e configurar a opção de implantação do Git Local para implantar seu aplicativo a partir de um repositório Git em seu computador local, execute o seguinte comando. Substitua <your-app-name> por um nome de aplicativo globalmente exclusivo (os caracteres válidos são a-z, 0-9 e -).

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

    Importante

    Na saída da CLI do Azure, a URL do remoto Git é exibida na propriedade deploymentLocalGitUrl, com o formato https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Salve este URL, pois você precisará dele mais tarde.

  4. Em seguida, definiremos as configurações de conexão de banco de dados de servidor flexível do Banco de Dados do Azure para MySQL no Aplicativo Web.

    O config.php arquivo no aplicativo PHP de exemplo recupera as informações de conexão do banco de dados (nome do servidor, nome do banco de dados, nome de usuário do servidor e senha) de variáveis de ambiente usando a getenv() função. No Serviço de Aplicativo, para definir variáveis de ambiente como Configurações do Aplicativo (appsettings), execute o seguinte comando:

    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"
    

    Como alternativa, você pode usar o Service Connector para estabelecer uma conexão entre o aplicativo do Serviço de Aplicativo e a instância de servidor flexível do Banco de Dados do Azure para MySQL. Para obter mais detalhes, consulte Integrar o Banco de Dados do Azure para servidor flexível MySQL com o Service Connector.

Implante seu aplicativo usando o Git Local

Agora, implantaremos o aplicativo PHP de exemplo no Serviço de Aplicativo do Azure usando a opção de implantação do Git Local.

  1. Como você está implantando a ramificação principal, precisa definir a ramificação de implantação padrão para seu aplicativo do Serviço de Aplicativo como principal. Para definir o DEPLOYMENT_BRANCH em Configurações do aplicativo, execute o seguinte comando:

    az webapp config appsettings set \
    --name <your-app-name> \
    --resource-group rg-php-demo \
    --settings DEPLOYMENT_BRANCH='main'
    
  2. Verifique se você está no diretório raiz do repositório de aplicativos.

  3. Para adicionar um controle remoto do Azure ao seu repositório Git local, execute o seguinte comando. Substitua <deploymentLocalGitUrl> pela URL do controle remoto Git que você salvou na etapa Criar um aplicativo Web do Serviço de Aplicativo.

    git remote add azure <deploymentLocalGitUrl>
    
  4. Para implantar seu aplicativo executando um git push no controle remoto do Azure, execute o seguinte comando. Quando o Git Credential Manager solicitar credenciais, insira as credenciais de implantação que você criou na etapa Configurar um usuário de implantação.

    git push azure main
    

A implantação pode levar alguns minutos para ser bem-sucedida.

Teste a sua aplicação

Por fim, teste o aplicativo navegando até https://<app-name>.azurewebsites.nete adicione, visualize, atualize ou exclua itens do catálogo de produtos.

Screenshot showing the sample Product Catalog PHP Web App.

Parabéns! Você implantou com êxito um aplicativo PHP de exemplo no Serviço de Aplicativo do Azure e o integrou ao Servidor flexível do Banco de Dados do Azure para MySQL no back-end.

Atualizar e reimplementar a aplicação

Para atualizar o aplicativo do Azure, faça as alterações de código necessárias, confirme todas as alterações no Git e envie as alterações de código para o Azure.

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

Quando o git push estiver concluído, navegue até ou atualize o aplicativo do Azure para testar a nova funcionalidade.

Clean up resources (Limpar recursos)

Neste tutorial, você criou todos os recursos do Azure em um grupo de recursos. Se achar que não vai precisar destes recursos no futuro, execute o seguinte comando no Cloud Shell para eliminar o grupo de recursos:

az group delete --name rg-php-demo

Próximos passos