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
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 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 Usar uma conta gratuita do Azure para experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente.
Pré-requisitos
- Instale o Git.
- A Interface de Linha de Comandos (CLI) do Azure.
- Uma assinatura do Azure 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 Usar uma conta gratuita do Azure para experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente.
Criar um Banco de Dados do Azure para MySQL - Servidor Flexível
Primeiro, provisione um Banco de Dados do Azure para instância de servidor flexível do MySQL com conectividade de acesso público, configure regras de firewall para permitir que o aplicativo acesse o servidor e crie 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 ao Banco de Dados do Azure para MySQL - Servidor flexível 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 .
Abra o prompt de comando.
Inicie sessão na sua conta do Azure.
az login
Escolha a sua subscrição do Azure.
az account set -s <your-subscription-ID>
Crie o grupo de recursos.
az group create --name rg-php-demo --location centralus
Criar um Banco de Dados do Azure para a instância do Servidor Flexível MySQL
Para criar uma instância do Banco de Dados do Azure para o Servidor Flexível 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.
Em seguida, para criar uma regra de firewall para sua instância do 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 a instância do 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
Para criar um novo banco de dados de produção do Banco de Dados do Azure para MySQL Flexible Server 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 Usar PHP com o Banco de Dados do Azure para MySQL - Servidor Flexível.
Neste tutorial, clonaremos diretamente o aplicativo de exemplo codificado e aprenderemos a implantá-lo no Serviço de Aplicativo do Azure.
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
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 de uma 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.
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
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>
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.Em seguida, definiremos as configurações de conexão do banco de dados do Banco de Dados do Azure para o Servidor Flexível 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 agetenv()
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.
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'
Verifique se você está no diretório raiz do repositório de aplicativos.
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>
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.net
e adicione, visualize, atualize ou exclua itens do catálogo de produtos.
Parabéns! Você implantou com êxito um aplicativo PHP de exemplo no Serviço de Aplicativo do Azure e o integrou ao Banco de Dados do Azure para Servidor Flexível 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