Despliegue de una aplicación C++ en VPS: guía paso a paso

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Despliegue de una aplicación C++ en VPS: guía paso a paso



Desarrollar en C++ es solo la mitad del trabajo. Para que su aplicación esté disponible para los usuarios, debe implementarla en un servidor. En este artículo, analizaremos en detalle el proceso de implementación de una aplicación C++ en un VPS (Servidor Privado Virtual) que ejecuta Linux. Aprenderá cómo preparar el servidor, compilar el código, configurar el inicio automático y garantizar la seguridad. El material está dirigido a desarrolladores familiarizados con los conceptos básicos de C++ y Linux.



1. Preparación del VPS e instalación de las herramientas necesarias



Antes de cargar el código, asegúrese de que su VPS esté listo para funcionar. Usaremos Ubuntu 22.04 LTS (o más reciente), la distribución más estable y popular para servidores web.



1.1. Conexión al servidor



Después de comprar un VPS, recibirá una dirección IP, un nombre de usuario (generalmente root) y una contraseña. Conéctese a través de SSH:



ssh root@su_IP_del_servidor


Por seguridad, se recomienda crear un usuario separado y deshabilitar el inicio de sesión como root, pero para la primera implementación puede trabajar como root.



1.2. Actualización del sistema e instalación del compilador



Actualicemos el gestor de paquetes e instalemos las herramientas necesarias para compilar C++:



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


  • build-essential — conjunto de compiladores (g++, gcc) y utilidades.
  • cmake — sistema de compilación que simplifica la compilación.
  • git — para clonar el repositorio.


Verifique la instalación:



g++ --versioncmake --version


2. Compilación y construcción de la aplicación C++



Supongamos que su aplicación está en un repositorio Git. Vamos a clonarla en el servidor y construirla.



2.1. Clonación del repositorio



cd /optgit clone https://github.com/su_usuario/su_aplicacion.gitcd su_aplicacion


Se recomienda colocar los proyectos en el directorio /opt o /var/www, no en la carpeta de inicio.



2.2. Construcción con CMake



Creemos un directorio separado para la compilación y ejecutemos CMake:



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


La bandera -j$(nproc) acelera la compilación utilizando todos los núcleos de la CPU. Después de una compilación exitosa, el archivo ejecutable aparecerá en la carpeta build.



2.3. Prueba de la aplicación



Ejecute la aplicación manualmente para asegurarse de que funciona:



./su_aplicacion


Si la aplicación es un servidor HTTP, pruébela con curl:



curl http://localhost:8080


3. Configuración del inicio automático con systemd



Para que la aplicación se inicie automáticamente al arrancar el servidor y se reinicie en caso de fallo, crearemos un servicio systemd.



3.1. Creación del archivo unit



Cree el archivo /etc/systemd/system/myapp.service:



nano /etc/systemd/system/myapp.service


Inserte el siguiente contenido (reemplace las rutas y el nombre de usuario):



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

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

[Install]WantedBy=multi-user.target


  • ExecStart — ruta completa al archivo ejecutable.
  • Restart=always — reinicio automático en caso de fallo.
  • User/Group — se recomienda usar un usuario sin privilegios (por ejemplo, www-data).


3.2. Inicio del servicio



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


Verifique el estado:



sys                

Blogs

Book Recommendations