Implantação de aplicação C# em VPS: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução

Desenvolver uma aplicação C# é apenas metade do trabalho. Para que seu projeto se torne acessível aos usuários na internet, é necessário implantá-lo em um servidor. Um Servidor Virtual Privado (VPS) é a solução ideal para hospedar aplicações .NET, pois oferece controle total sobre o ambiente e permite configurar tudo de acordo com necessidades específicas.

Neste artigo, vamos abordar o processo completo de deploy de uma aplicação C# (ASP.NET Core) em um VPS rodando Linux (Ubuntu 22.04). Você aprenderá como preparar o servidor, instalar o software necessário, publicar a aplicação e configurar o web server para trabalhar com ela. Todas as etapas são acompanhadas de exemplos de código e comandos.



1. Preparação do VPS e instalação do .NET SDK

O primeiro passo é a preparação do servidor. Usaremos o Ubuntu 22.04 LTS, pois é um dos sistemas operacionais mais populares e estáveis para servidores. Conecte-se ao VPS via SSH:

ssh user@your-server-ip

Após o login, atualize a lista de pacotes e instale as dependências necessárias:

sudo apt updatesudo apt upgrade -ysudo apt install wget apt-transport-https software-properties-common -y

Agora, adicione o repositório Microsoft e instale o .NET SDK. Para .NET 8, execute:

wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debsudo apt updatesudo apt install dotnet-sdk-8.0 -y

Verifique a instalação:

dotnet --version

Se você vir o número da versão (por exemplo, 8.0.100), tudo foi instalado corretamente.

Importante: Se sua aplicação usa um banco de dados (por exemplo, PostgreSQL ou SQLite), instale o pacote correspondente. Para PostgreSQL:

sudo apt install postgresql postgresql-contrib -y


2. Publicação e upload da aplicação para o servidor

Agora, prepare a própria aplicação para o deploy. No seu computador local (onde o desenvolvimento é feito), abra o terminal na raiz do projeto e execute a publicação no modo Release:

dotnet publish -c Release -o ./publish

Este comando criará uma pasta publish com todos os arquivos necessários para executar a aplicação no servidor. Agora, é preciso fazer o upload desta pasta para o VPS. Use SCP ou SFTP. Exemplo com SCP:

scp -r ./publish user@your-server-ip:/home/user/myapp

Onde myapp é o nome da pasta onde sua aplicação será armazenada no servidor.

Após o upload, conecte-se ao servidor e mova os arquivos para um local mais adequado, por exemplo, /var/www/myapp:

sudo mkdir -p /var/www/myappsudo cp -r /home/user/myapp/* /var/www/myapp/

Não se esqueça de definir as permissões corretas para a pasta:

sudo chown -R www-data:www-data /var/www/myappsudo chmod -R 755 /var/www/myapp


3. Configuração do systemd para inicialização automática

Para que sua aplicação seja iniciada automaticamente na inicialização do sistema e reiniciada em caso de falha, vamos criar um serviço systemd. Crie um arquivo de configuração:

sudo nano /etc/systemd/system/myapp.service

Insira o seguinte conteúdo (substitua os caminhos e o nome de usuário pelos seus):

[Unit]Description=My ASP.NET Core ApplicationAfter=network.target

[Service]WorkingDirectory=/var/www/myappExecStart=/usr/bin/dotnet /var/www/myapp/YourApp.dllRestart=alwaysRestartSec=10KillSignal=SIGINTSyslogIdentifier=myappUser=www-dataEnvironment=ASPNETCORE_ENVIRONMENT=ProductionEnvironment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]WantedBy=multi-user.target

Salve o arquivo (Ctrl+O, depois Enter) e saia (Ctrl+X). Agora, recarregue o systemd e inicie o serviço:

sudo systemctl daemon-reloadsudo systemctl start myappsudo systemctl enable myapp

Verifique o status:

Blogs

Book Recommendations