Criar um aplicativo Web PHP no Serviço de Aplicativo do Azure
O Serviço de Aplicativo do Azure fornece um serviço de hospedagem na Web altamente escalonável e com aplicação automática de patches. Este tutorial de início rápido mostra como implantar um aplicativo PHP no Serviço de Aplicativo do Azure no Windows.
Crie o aplicativo Web usando a CLI do Azure no Cloud Shell e use o Git para implantar o código PHP de exemplo para o aplicativo Web.
Você pode seguir as etapas aqui usando um computador Mac, Windows ou Linux. A conclusão das etapas demora cerca de cinco minutos assim que os pré-requisitos são instalados.
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Observação
Após 28 de novembro de 2022, só haverá suporte para PHP no Serviço de Aplicativo no Linux.
Pré-requisitos
Para concluir este guia de início rápido:
Baixar o exemplo localmente
Em uma janela de terminal, execute os comandos a seguir. Ele clonará o aplicativo de exemplo no computador local e fará com que você navegue até o diretório que contém o código de exemplo.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Verifique se o branch padrão é
main
.git branch -m main
Dica
A alteração do nome do branch não é necessária para o Serviço de Aplicativo. No entanto, como muitos repositórios estão alterando o branch padrão para
main
, este início rápido também mostra como implantar um repositório por meio demain
.
Executar o aplicativo localmente
Execute o aplicativo no local para ver como ele deve ficar quando o implantar no Azure. Abra uma janela do terminal e use o comando
php
para iniciar o servidor Web do PHP interno.php -S localhost:8080
Abra um navegador da Web e navegue até o aplicativo de exemplo em
http://localhost:8080
.Você vê a mensagem Olá, Mundo! no aplicativo de exemplo exibido na página.
Na janela do terminal, pressione Ctrl+C para sair do servidor Web.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou comando.
Configurar um usuário de implantação
O FTP e o Git local podem implantar em um aplicativo Web do Azure usando um usuário de implantação. Após configurar o usuário de implantação, use-o em todas as implantações do Azure. O nome de usuário e a senha da implantação no nível da conta são diferentes das credenciais de assinatura do Azure.
Para configurar o usuário de implantação, execute o comando az webapp deployment user set no Azure Cloud Shell. Substitua o <nome de usuário> e a <senha> pelo nome de usuário e a senha do usuário de implantação.
- O nome de usuário deve ser exclusivo no Azure. Para envios por push do Git local, não deve conter o símbolo "\@".
- A senha deve ter pelo menos oito caracteres, com dois destes três elementos: letras, números, símbolos.
az webapp deployment user set --user-name <username> --password <password>
A saída JSON mostra a senha como null
. Se receber um erro 'Conflict'. Details: 409
, altere o nome de usuário. Se receber um erro 'Bad Request'. Details: 400
, use uma senha mais forte.
Registre seu nome de usuário e senha para usá-los na implantação de aplicativos Web.
Criar um grupo de recursos
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados. Por exemplo, é possível excluir posteriormente todo o grupo de recursos com uma única etapa simples.
No Cloud Shell, crie um grupo de recursos com o comando az group create
. O exemplo a seguir cria um grupo de recursos chamado myResourceGroup no local Europa Ocidental. Para ver todos os locais com suporte para o Serviço de Aplicativo na camada Gratuito, execute o comando az appservice list-locations --sku FREE
.
az group create --name myResourceGroup --location "West Europe"
Em geral, você cria seu grupo de recursos e os recursos em uma região próxima a você.
Quando o comando for concluído, uma saída JSON mostra as propriedades do grupo de recursos.
Criar um Plano do Serviço de Aplicativo do Azure
No Cloud Shell, crie um plano do Serviço de Aplicativo com o comando az appservice plan create
.
O exemplo a seguir cria um plano do Serviço de Aplicativo denominado myAppServicePlan
usando o tipo de preço myAppServicePlan
:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
Quando o Plano do Serviço de Aplicativo for criado, a CLI do Azure mostrará informações semelhantes ao exemplo a seguir:
{ "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 }
Criar um aplicativo Web
No Cloud Shell, crie um aplicativo Web no plano do Serviço de Aplicativo do
myAppServicePlan
com o comandoaz webapp create
.No exemplo a seguir, substitua
<app-name>
por um nome do aplicativo exclusivo globalmente (os caracteres válidos sãoa-z
,0-9
e-
). A execução é predefinida paraPHP|7.4
. Para ver todos os runtimes com suporte, executeaz webapp list-runtimes
.az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
Quando o aplicativo Web for criado, a CLI do Azure mostrará um resultado semelhante ao seguinte exemplo:
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. > }
Você criou um novo aplicativo Web vazio com a implantação do Git habilitada.
Observação
A URL do Git remoto é mostrada na propriedade
deploymentLocalGitUrl
com o formatohttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Salve essa URL, pois você precisará dela mais tarde.Navegue até o aplicativo Web recém-criado. Substitua <app-name> pelo nome do aplicativo exclusivo criado na etapa anterior.
http://<app-name>.azurewebsites.net
Seu novo aplicativo Web deve ficar assim:
Enviar do Git para o Azure
Como você está implantando o branch
main
, você precisa definir o branch de implantação padrão para seu aplicativo do Serviço de Aplicativo comomain
(consultemain
). No Cloud Shell, defina a configuração do aplicativoDEPLOYMENT_BRANCH
com o comandoaz webapp config appsettings set
.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
De volta na janela do terminal local, adicione um remoto do Azure ao repositório Git local. Substitua <deploymentLocalGitUrl-from-create-step> pela URL do Git remoto que você salvou de Criar um aplicativo Web.
git remote add azure <deploymentLocalGitUrl-from-create-step>
Envie por push para o Azure remoto para implantar seu aplicativo com o comando a seguir. Quando solicitado a fornecer credenciais pelo Gerenciador de Credenciais do Git, insira as credenciais criadas em Configurar implantação local do git, e não as credenciais usadas para entrar no portal do Azure.
git push azure main
Esse comando pode levar alguns minutos para ser executado. Na execução, ele exibe informações semelhantes ao seguinte exemplo:
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
Navegar até o aplicativo
Navegue até o aplicativo implantado usando o navegador da Web.
http://<app-name>.azurewebsites.net
O código de exemplo do PHP está em execução em um aplicativo Web do Serviço de Aplicativo do Azure.
Parabéns! Você implantou seu primeiro aplicativo PHP no Serviço de Aplicativo.
Atualizar localmente e reimplantar o código
Usando um editor de texto local, abra o arquivo
index.php
no aplicativo do PHP e faça uma pequena alteração no texto dentro da cadeia de caracteres paraecho
:echo "Hello Azure!";
Na janela do terminal local, confirme suas alterações no Git e então envie por push as alterações do código para o Azure.
git commit -am "updated output" git push azure main
Depois que a implantação for concluída, retorne para a janela do navegador que foi aberta durante a etapa Navegar até o aplicativo e atualize a página.
Gerenciar seu novo aplicativo do Azure
Vá para o portal do Azure para gerenciar o aplicativo Web que você criou. Pesquise e selecione Serviços de Aplicativos.
Selecione o nome do seu aplicativo do Azure.
A página Visão Geral do seu aplicativo Web será exibida. Aqui você pode executar tarefas básicas de gerenciamento como Procurar, Parar, Reiniciar e Excluir.
O menu do aplicativo Web fornece opções diferentes para configurar seu aplicativo.
Limpar os recursos
Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos. Se você acha que não precisará desses recursos no futuro, exclua o grupo de recursos executando o seguinte comando no Cloud Shell:
az group delete --name myResourceGroup
Esse comando pode demorar um pouco para ser executado.
O Serviço de Aplicativo do Azure fornece um serviço de hospedagem na Web altamente escalonável e com aplicação automática de patches. Este guia de início rápido mostra como implantar um aplicativo PHP no Serviço de Aplicativo do Azure no Linux.
Você pode seguir as etapas aqui usando um computador Mac, Windows ou Linux. A conclusão das etapas demora cerca de cinco minutos assim que os pré-requisitos são instalados.
Para concluir este início rápido, você precisa de:
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Git
- PHP
- CLI do Azure para executar comandos em qualquer shell para criar e configurar recursos do Azure.
1 – Obter o repositório de exemplo
Você pode criar o aplicativo Web usando a CLI do Azure no Cloud Shell e use o Git para implantar o código PHP de exemplo para o aplicativo Web.
Em uma janela do terminal, execute os comandos a seguir para clonar a amostra do aplicativo no seu computador local e navegar para o diretório raiz do projeto.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Para executar o aplicativo localmente, use o comando
php
para iniciar o servidor Web PHP interno.php -S localhost:8080
Navegue até o aplicativo de exemplo em
http://localhost:8080
um navegador da Web.Na janela do terminal, pressione Ctrl+C para sair do servidor Web.
2 - Implantar o código do aplicativo no Azure
A CLI do Azure tem um comando az webapp up
que cria os recursos necessários e implanta seu aplicativo em uma única etapa.
No terminal, implante o código na pasta local usando o comando az webapp up
:
az webapp up --runtime "PHP:8.2" --os-type=linux
- Se o comando
az
não for reconhecido, verifique se você tem a CLI do Azure instalada. - O argumento
--runtime "PHP:8.2"
cria o aplicativo web com a versão 8.2 do PHP. - O argumento
--os-type=linux
cria o aplicativo Web no Serviço de Aplicativo no Linux. - Opcionalmente, você pode especificar um nome com o argumento
--name <app-name>
. Um nome será gerado automaticamente se você não o fornecer. - Opcionalmente, você pode incluir o argumento
--location <location-name>
, em que<location_name>
é uma região do Azure disponível. Você pode recuperar uma lista de regiões permitidas para sua conta do Azure executando o comandoaz account list-locations
. - Caso receba a mensagem de erro "Não foi possível detectar de modo automático a pilha de runtime do seu aplicativo", verifique se você está executando o comando no diretório de código (confira Solução de problemas de detecção automática com o comando az webapp up).
O comando pode levar alguns minutos para ser concluído. Durante a execução, o comando envia mensagens sobre como criar o grupo de recursos, o plano do Serviço de Aplicativo e o recurso do aplicativo, como configurar o registro em log e como executar a implantação por zip. Em seguida, ele fornece a mensagem "Você pode iniciar o aplicativo em http://<nome-do-aplicativo>.azurewebsites.net", que é a URL do aplicativo no 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.2", "runtime_version_detected": "0.0", "sku": "FREE", "src_path": "//home//msangapu//myPhpApp" }
Observação
O comando az webapp up
realiza as seguintes ações:
Criar um grupo de recursos padrão.
Criar um plano do Serviço de Aplicativo padrão.
Criar um aplicativo com o nome especificado.
Faça a implantação de zip de todos os arquivos do diretório de trabalho atual, com a automação de build habilitada.
Armazene em cache os parâmetros localmente no arquivo .azure/config para que você não precise especificá-los novamente na implantação posterior com
az webapp up
ou outros comandosaz webapp
da pasta do projeto. Os valores armazenados em cache são usados automaticamente por padrão.
Navegue até o aplicativo implantado no navegador da Web na URL http://<app-name>.azurewebsites.net
.
O código de exemplo do PHP está em execução em um Serviço de Aplicativo do Azure.
Parabéns! Você implantou seu primeiro aplicativo PHP no Serviço de Aplicativo usando o portal do Azure.
3 – Atualizar o aplicativo e reimplantar
Usando um editor de texto local, abra o arquivo
index.php
no aplicativo do PHP e faça uma pequena alteração no texto dentro da cadeia de caracteres paraecho
:echo "Hello Azure!";
Salve as alterações, depois reimplante o aplicativo usando mais uma vez o comando az webapp up com esses argumentos:
az webapp up --runtime "PHP:8.2" --os-type=linux
Assim que a implantação for concluída, retorne para a janela do navegador que foi aberta durante a etapa Navegar até o aplicativo e atualize a página.
4 – Gerenciar seu novo aplicativo do Azure
Vá para o portal do Azure para gerenciar o aplicativo Web que você criou. Pesquise e selecione Serviços de Aplicativos.
Selecione o nome do seu aplicativo do Azure.
A página Visão Geral do seu aplicativo web será exibida. Aqui você pode executar tarefas básicas de gerenciamento como Procurar, Parar, Reiniciar e Excluir.
O menu do aplicativo Web fornece opções diferentes para configurar seu aplicativo.
5 – Limpar recursos
Ao terminar o aplicativo de exemplo, você poderá remover todos os recursos do aplicativo do Azure. Isso ajudará você a evitar cobranças extras e manterá sua assinatura do Azure menos entulhada. Remover o grupo de recursos também remove todos os recursos do grupo de recursos e é a maneira mais rápida de remover todos os recursos do Azure para seu aplicativo.
Exclua o grupo de recursos usando o comando az group delete.
az group delete --name myResourceGroup
Esse comando leva um minuto para ser executado.