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# na plataforma .NET é apenas metade do caminho. Para tornar seu projeto acessível aos usuários na internet, ele deve ser devidamente implantado em um servidor. VPS (Servidor Virtual Privado) é uma solução ideal para pequenas e médias empresas e desenvolvedores independentes: oferece controle total sobre o ambiente a um preço acessível. Neste artigo, abordaremos o processo completo de implantação de uma aplicação C# em um VPS rodando Linux (Ubuntu 22.04). Você aprenderá como preparar o servidor, publicar a aplicação, configurar um proxy reverso com Nginx e garantir a inicialização automática via systemd.



1. Preparando o VPS e Instalando o .NET Runtime

1.1. Conectando ao Servidor

Após adquirir um VPS, você receberá um endereço IP e uma senha de root. Conecte-se via SSH:

ssh root@your-server-ip

Recomenda-se criar imediatamente um usuário separado para segurança:

adduser appuserusermod -aG sudo appusersu - appuser


1.2. Instalando o .NET Runtime

Para que uma aplicação C# funcione no servidor, o ASP.NET Core Runtime é necessário. Adicione o repositório da Microsoft e instale o pacote:

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-get updatesudo apt-get install -y aspnetcore-runtime-8.0

Verifique a instalação:

dotnet --list-runtimes

Você deve ver uma linha com a versão ASP.NET Core 8.0.0.



2. Publicando a Aplicação e Enviando para o Servidor

2.1. Publicando na Máquina Local

No seu computador com Visual Studio ou .NET CLI, abra o projeto e execute o comando de publicação:

dotnet publish -c Release -o ./publish

Este comando cria uma pasta publish contendo todos os arquivos necessários para executar a aplicação (incluindo dependências de runtime se você estiver usando FDD — Framework-Dependent Deployment).



2.2. Enviando para o VPS

Copie a pasta publish para o servidor usando scp ou sftp. Na máquina local, execute:

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

Agora, no servidor, verifique se os arquivos estão no lugar:

ls -la /home/appuser/myapp


3. Configurando o systemd para Inicialização Automática

Para garantir que a aplicação inicie na inicialização do sistema e reinicie automaticamente após falhas, crie uma unit do systemd.

3.1. Criando o Arquivo de Serviço

Crie o arquivo /etc/systemd/system/myapp.service com privilégios de root:

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

Insira o seguinte conteúdo:

[Unit]Description=Minha Aplicação ASP.NET CoreAfter=network.target

[Service]WorkingDirectory=/home/appuser/myappExecStart=/usr/bin/dotnet /home/appuser/myapp/YourAppName.dllRestart=alwaysRestartSec=10KillSignal=SIGINTSyslogIdentifier=myappUser=appuserEnvironment=ASPNETCORE_ENVIRONMENT=ProductionEnvironment=ASPNETCORE_URLS=http://localhost:5000

[Install]WantedBy=multi-user.target

Substitua YourAppName.dll pelo nome real do seu arquivo .dll (geralmente corresponde ao nome do projeto).



3.2. Iniciando e Habilitando o Serviço

sudo systemctl daemon-reloadsudo systemctl start myappsudo systemctl enable myapp

Verifique o status:

sudo systemctl status myapp

Se tudo estiver configurado corretamente, você verá o status active (running). A aplicação agora está ouvindo na porta 5000 na interface local.



4. Configurando o Nginx como Proxy Reverso

Para tornar a aplicação acessível externamente nas portas padrão (80/443) e adicionar um certificado SSL, instale e configure o Nginx.

4.1. Instalando o Nginx

sudo apt updatesudo apt install nginx -y


4.2. Configuração do Site

Blogs

Book Recommendations