Desplegar Node.js en Linux con Nginx y PM2 - una guía práctica para principiantes

Despliega Node.js en Linux con Nginx y PM2 con esta guía práctica paso a paso. Aprende a optimizar tu servidor para un rendimiento óptimo.

20 dic 2025 • 5 min de lectura • Equip Q2BSTUDIO

Desplegar Node.js en Linux con Nginx y PM2: Guía práctica.

Gancho: por qué esta pila importa

Si has creado una aplicación Node.js y quieres que funcione de forma fiable en producción, no basta con ejecutar node app.js y cruzar los dedos. La combinación Linux + Nginx + PM2 ofrece una solución pragmática: estabilidad del sistema operativo, rendimiento y terminación SSL con Nginx, y gestión automática de procesos con PM2. Este artículo resume la lógica y da un camino práctico y directo para desplegar una app real rápidamente.

Contexto: el problema que enfrentan la mayoría de desarrolladores

Las aplicaciones nuevas fallan en producción por razones sencillas: procesos que crashean, puertos expuestos, ausencia de HTTPS o reinicios del servidor sin configuración de arranque. Necesitas un patrón de despliegue que:

- Mantenga la app en ejecución tras caídas y reinicios

- Oculte puertos internos del acceso público

- Gestione HTTPS, activos estáticos y picos de carga

Nginx y PM2 en un VPS Linux resuelven todo esto sin una orquestación pesada y con herramientas estándar compatibles con distribuciones comunes como Ubuntu o CentOS.

Visión general de la solución

Flujo de alto nivel: Nginx escucha en 80 y 443 y hace proxy hacia tu proceso Node en un puerto interno como 3000. PM2 ejecuta y monitoriza el proceso Node, reinicia al fallar y resucita procesos tras reinicios. Usa un archivo ecosistema PM2 para versionar la configuración del proceso. Estas prácticas encajan perfectamente con equipos que desarrollan aplicaciones a medida y software a medida y quieren un entorno estable para crecer.

Checklist rápido antes de empezar

- Provisiona un servidor Linux (1-2 GB RAM es suficiente para apps pequeñas)

- Conéctate por SSH y actualiza paquetes

- Instala Node.js (NodeSource o nvm), Nginx y PM2

- Asegura que el DNS apunte al servidor antes de emitir certificados SSL

- Mantén código y configuración ecosystem en git

Implementación: pasos esenciales y accionables

- Instala Node.js y verifica node -v y npm -v. Para múltiples proyectos usa nvm.

- Sube o clona tu app en una carpeta dedicada, por ejemplo /home/usuario/mi-app y ejecuta npm install --production.

- Instala PM2 globalmente y arranca la app con un nombre amigable: pm2 start app.js --name mi-app. Ejecuta pm2 startup y pm2 save para asegurar reinicios.

- Instala Nginx y crea un server block que haga proxy_pass a https://127.0.0.1:3000, prueba nginx -t y recarga Nginx.

- Asegura el sitio con Let’s Encrypt usando certbot --nginx para HTTPS gratuito y renovaciones automáticas.

Nota importante: no expongas el puerto de Node al internet público. Deja que Nginx gestione el tráfico entrante y SSL.

PM2: hazlo repetible

Usa un archivo ecosystem.config.js para describir tus apps y variables de entorno. Con PM2 puedes correr múltiples apps desde un solo archivo, definir NODE_ENV y PORT por entorno y usar clustering con instances: max para aprovechar todos los núcleos CPU. Inicia todo con pm2 start ecosystem.config.js --env production y guarda el estado con pm2 save. Evita watch true en producción; usa CI para reinicios controlados.

Nginx: proxy inverso y consejos prácticos

Configura proxy_pass a https://127.0.0.1:3000 y añade cabeceras comunes como X-Forwarded-For y Host. Prueba nginx -t antes de recargar. Activa gzip y cabeceras de cache para activos estáticos. Añade cabeceras de seguridad básicas como X-Frame-Options, X-Content-Type-Options y X-XSS-Protection. Si alojas varias apps crea bloques de servidor separados por dominio y apunta cada uno al puerto interno de su app.

Seguridad, monitorización y validación

- Firewall: activa UFW en Ubuntu o firewalld en CentOS y permite SSH y Nginx Full (puertos 22, 80, 443).

- HTTPS: usa certbot con el plugin nginx para automatizar emisión y renovación de certificados.

- Logs y monitoring: usa pm2 logs y pm2 monit para chequeos rápidos. Instala pm2-logrotate para evitar crecimiento excesivo de logs y haz pruebas de carga ligeras con herramientas como ab mientras observas pm2 monit, top/htop y logs de Nginx.

Buenas prácticas rápidas

- Ejecuta Node bajo un usuario no root

- Nunca subas secretos al repositorio; usa variables de entorno o bloques env en PM2

- Haz npm audit regularmente y manten dependencias actualizadas

Sobre Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software dedicada a crear aplicaciones a medida y software a medida, con especialización en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones completas desde diseño y desarrollo hasta despliegue y operación en AWS y Azure. Si buscas apoyo para construir una solución robusta y escalable podemos ayudarte con desarrollo a medida y consultoría en IA y seguridad.

Si te interesa que desarrollemos tu plataforma o aplicación personalizada visita nuestra página de desarrollo de apps en

software a medida y aplicaciones a medida

y para proyectos que integren modelos y agentes IA consulta

inteligencia artificial para empresas

Palabras clave y servicios relacionados

Este enfoque cubre muchas necesidades de empresas que buscan servicios cloud aws y azure, servicios inteligencia de negocio y power bi, ia para empresas, agentes IA y soluciones de ciberseguridad y pentesting integradas en su ciclo de vida de desarrollo.

Conclusión

Desplegar Node.js en Linux con Nginx y PM2 te da una base fiable y mantenible sin la complejidad inicial de contenedores o plataformas de orquestación. Empieza pequeño: pon Node y PM2 en marcha, coloca Nginx delante, añade HTTPS con certbot y formaliza la configuración con un archivo ecosistema y CI. Ese patrón cubre la mayoría de necesidades de producción para proyectos indie, MVPs y SaaS en fases tempranas. Si necesitas ayuda profesional para ejecutar este despliegue o ampliar la solución con inteligencia artificial, ciberseguridad o servicios cloud, en Q2BSTUDIO podemos acompañarte en todo el proceso.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.