Introducción: ¿Por qué VPS es el lugar ideal para tu proyecto TypeScript?
Has escrito una aplicación genial en TypeScript, ya sea un servidor Express, un sitio Next.js o una API NestJS. Localmente funciona perfectamente, pero ha llegado el momento de mostrar tu proyecto al mundo. Muchos principiantes temen la etapa de despliegue, considerándola compleja y confusa. En realidad, entender este proceso una vez te permitirá desplegar cualquier proyecto TypeScript en 15-20 minutos.
En esta guía, cubriremos el ciclo completo de despliegue de una aplicación TypeScript en un VPS (Virtual Private Server), desde la preparación del servidor hasta la configuración del dominio y HTTPS. El artículo está orientado al ecosistema Node.js, ya que TypeScript se usa más a menudo con él.
Qué aprenderás:
- Cómo preparar un VPS para trabajar (Ubuntu 22.04)
- Cómo configurar Node.js, TypeScript y el administrador de procesos PM2
- Cómo compilar TypeScript en modo producción
- Cómo configurar Nginx como proxy inverso
- Cómo conectar un certificado SSL gratuito a través de Let's Encrypt
1. Preparación del VPS e instalación del entorno necesario
1.1 Configuración inicial del servidor
Supongamos que has alquilado un VPS (por ejemplo, de DigitalOcean, Timeweb o Reg.ru) con Ubuntu 22.04. Lo primero es conectarte al servidor a través de SSH:
ssh root@tu-ip-del-servidorCrea un usuario separado (es más seguro que trabajar como root):
adduser deployerusermod -aG sudo deployersu - deployer1.2 Instalación de Node.js y npm
Para una aplicación TypeScript, necesitaremos Node.js versión 18 o 20 (LTS). Usamos el PPA oficial de NodeSource:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt-get install -y nodejsVerificamos la instalación:
node -vnpm -v1.3 Instalación global de TypeScript (opcional)
Aunque TypeScript suele ser una dependencia local del proyecto, para una verificación rápida de la compilación se puede instalar globalmente:
sudo npm install -g typescript1.4 Clonación de tu proyecto
Copia el repositorio desde GitHub/GitLab al servidor:
git clone https://github.com/tu-usuario/tu-proyecto.gitcd tu-proyectoInstala las dependencias:
npm install2. Compilación de TypeScript y configuración de PM2
2.1 Compilación de TypeScript a JavaScript
En tu package.json debe haber un script de compilación. Normalmente se ve así:
{ "scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "ts-node-dev src/index.ts" }}Ejecutamos la compilación:
npm run buildDespués de la ejecución, en la carpeta dist aparecerá el código JavaScript compilado. Si tienes Next.js, el comando de compilación será npm run build (Next.js compila TypeScript por sí mismo).
2.2 Instalación y configuración de PM2
PM2 es un administrador de procesos que mantiene tu aplicación en ejecución, la reinicia si falla y gestiona los registros. Lo instalamos:
sudo npm install -g pm2Iniciamos la aplicación a través de PM2 (indicamos la ruta al archivo compilado):
pm2 start dist/index.js --name "my-typescript-app"Si tienes Next.js, el comando será diferente:
pm2 start npm --name "next-app" -- startConfiguramos el inicio automático de PM2 al reiniciar el servidor:
pm2 startup systemdpm2 saveAhora tu aplicación se ejecuta en un puerto local (por ejemplo, 3000). Hagámosla accesible a través de un dominio.
3. Configuración de Nginx como proxy inverso
3.1 Instalación de Nginx
Blogs
Book Recommendations
Leer también
De novato a profesional: guía de la comunidad PHP en 2024
Registro en aplicaciones Swift: mejores prácticas para principiantes
Pruebas de integración de TypeScript con Docker: nivel avanzado
¿Cuándo se activa init() en Go? Análisis con ejemplos
Java: aceleración del código con perfilado y optimización