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

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



Desenvolvimento em C++ é apenas metade do trabalho. Para que sua aplicação se torne acessível aos usuários, é necessário implantá-la em um servidor. Neste artigo, vamos detalhar o processo de implantação de uma aplicação C++ em um VPS (Virtual Private Server) rodando Linux. Você aprenderá como preparar o servidor, compilar o código, configurar a inicialização automática e garantir a segurança. O material é voltado para desenvolvedores familiarizados com os fundamentos de C++ e Linux.



1. Preparação do VPS e instalação das ferramentas necessárias



Antes de enviar o código, certifique-se de que seu VPS está pronto para uso. Usaremos Ubuntu 22.04 LTS (ou superior) — a distribuição mais estável e popular para servidores web.



1.1. Conexão ao servidor



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



ssh root@seu_IP_do_servidor


Por segurança, é recomendado criar um usuário separado e desabilitar o login como root, mas para a primeira implantação você pode trabalhar como root.



1.2. Atualização do sistema e instalação do compilador



Vamos atualizar o gerenciador de pacotes e instalar as ferramentas necessárias para compilar C++:



apt update && apt upgrade -yapt install build-essential cmake git -y


  • build-essential — conjunto de compiladores (g++, gcc) e utilitários.
  • cmake — sistema de build que simplifica a compilação.
  • git — para clonar o repositório.


Verifique a instalação:



g++ --versioncmake --version


2. Compilação e build da aplicação C++



Suponha que sua aplicação esteja em um repositório Git. Vamos cloná-la no servidor e compilá-la.



2.1. Clonagem do repositório



cd /optgit clone https://github.com/seu_usuario/sua_aplicacao.gitcd sua_aplicacao


Recomenda-se colocar os projetos no diretório /opt ou /var/www, e não na pasta home.



2.2. Build via CMake



Vamos criar um diretório separado para o build e executar o CMake:



mkdir build && cd buildcmake ..make -j$(nproc)


A flag -j$(nproc) acelera a compilação usando todos os núcleos da CPU. Após o build bem-sucedido, o arquivo executável aparecerá na pasta build.



2.3. Teste da aplicação



Execute a aplicação manualmente para garantir que está funcionando:



./sua_aplicacao


Se a aplicação for um servidor HTTP, verifique-a via curl:



curl http://localhost:8080


3. Configuração da inicialização automática via systemd



Para que a aplicação inicie automaticamente na inicialização do servidor e reinicie em caso de falha, vamos criar um serviço systemd.



3.1. Criação do arquivo unit



Crie o arquivo /etc/systemd/system/myapp.service:



nano /etc/systemd/system/myapp.service


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



[Unit]Description=My C++ ApplicationAfter=network.target

[Service]ExecStart=/opt/sua_aplicacao/build/sua_aplicacaoWorkingDirectory=/opt/sua_aplicacao/buildRestart=alwaysRestartSec=5User=www-dataGroup=www-data

[Install]WantedBy=multi-user.target


  • ExecStart — caminho completo para o arquivo executável.
  • Restart=always — reinicialização automática em caso de falha.
  • User/Group — recomenda-se usar um usuário não privilegiado (por exemplo, www-data).


3.2. Inicialização do serviço



systemctl daemon-reloadsystemctl enable myapp.servicesystemctl start myapp.service


Verifique o status:



sys                

Blogs

Book Recommendations