Precisa publicar sua aplicação ASP.NET Core no Plesk com IIS e o módulo ASP.NET Core (ANCM)? Este tutorial vai te orientar passo a passo para realizar o deploy corretamente, seja utilizando o runtime instalado no servidor ou com a aplicação em modo self-contained.
O que você precisa saber antes de começar
- O Plesk utiliza o IIS como servidor web.
- Aplicações ASP.NET Core funcionam através do módulo AspNetCoreModuleV2 (ANCM).
- Você pode publicar a aplicação em dois modos: Framework-Dependent (usa o .NET instalado no servidor) ou Self-Contained (inclui o runtime dentro da aplicação).
Passo 1: Gerando a publicação da aplicação
No seu ambiente de desenvolvimento (Visual Studio, Rider ou CLI), gere os arquivos de publicação em modo Release.
No terminal, o comando é:
Esse comando criará uma pasta chamada publish dentro de bin/Release contendo os arquivos que devem ser enviados ao servidor.
Passo 2: Enviando os arquivos para o Plesk
Acesse o Plesk e navegue até o domínio desejado.
Entre no Gerenciador de Arquivos e abra a pasta httpdocs. Envie todo o conteúdo da pasta publish.
Se preferir, você pode enviar os arquivos via FTP ou SFTP utilizando um cliente como FileZilla.
Passo 3: Criando o arquivo web.config
Na raiz da pasta httpdocs, crie um arquivo chamado web.config contendo o seguinte:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments="MinhaAplicacao.dll" stdoutLogEnabled="true" stdoutLogFile="./logs/stdout" hostingModel="InProcess" />
</system.webServer>
</configuration>
Substitua MinhaAplicacao.dll pelo nome real da DLL principal do seu projeto ASP.NET Core.
Passo 4: Criando a pasta de logs
Crie uma pasta chamada logs dentro de httpdocs. Essa pasta será usada para gravar erros e mensagens do módulo ANCM, úteis em casos de falha no carregamento da aplicação.
Certifique-se de que o usuário do Application Pool tenha permissão de escrita nessa pasta.
Passo 5: Publicação em modo Self-Contained (opcional)
Se você quiser enviar a aplicação com o runtime embutido (sem depender da versão instalada no servidor), publique assim:
Nesse modo, o processPath no web.config deve apontar para o arquivo .exe da aplicação:
Passo 6: Configurando variáveis de ambiente (opcional)
Se sua aplicação usa variáveis como ASPNETCORE_ENVIRONMENT, isso pode ser configurado no Plesk em:
Websites e Domínios > Botão: .NET Core > Variáveis ambientais
Ou diretamente no web.config:
<add name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>
Passo 7: Testando a aplicação
Acesse o domínio pelo navegador.
Se ocorrer erro 500.30 ou 500.31, verifique os arquivos dentro da pasta logs. Eles normalmente indicam problemas como:
- Versão do .NET incompatível
- Permissões insuficientes
- Falha ao carregar dependências
- Falha de inicialização da aplicação
Finalizando
Pronto! Sua aplicação ASP.NET Core agora está publicada no Plesk com IIS utilizando o módulo AspNetCoreModuleV2.
