En esta guía, aprenderás a configurar de manera sencilla una aplicación de Node.js en tu hosting con cPanel, siguiendo un paso a paso práctico basado en una aplicacion de ejemplo en la que usaremos un subdominio llamado: miapp.midominio.com
# Crear la App de Node.js en tu hosting cPanel
1. Ingresa dentro de tu cPanel a "Setup Node.js App", que se encuentra dentro del grupo de "Software":
2. Haz clic en el botón "Create Application" para agregar una nueva app:
3. Completa los datos de tu App, de la siguiente manera:
4. Configura lo siguiente:
Node.js Version: elige la que necesites (ej:
18.x
o20.x
).Application Mode: normalmente Production.
Application Root: carpeta donde estará tu proyecto (ej:
/home/usuario/miapp.midominio.com
).
Aqui puedes elegir directamente el subdominio o la ruta absoluta.Application URL: dominio o subdominio (ej:
miapp.midominio.com
).Application Startup File: el archivo principal (ej:
app.js
oserver.js
).
5. Haz clic en "Create" para crear la aplicación.
Si todo fue bien, verás un mensaje en verde en la parte superior de la pantalla, confirmando que la aplicación se ha creado correctamente.
6. Una vez creada, verás un botón Run NPM Install para instalar dependencias.
(Por lo general estara con un icono de Warning, es normal ya que todavia no hemos subido los archivos de nuestra App.)
7. Ahora deten la aplicacion con el boton "Stop App"
Bien, hasta este paso ya hemos podido configurar los pasos iniciales para nuestra aplicacion en NodeJs, ahora subiremos los archivos de nuestro proyecto.
# Subir tu proyecto:
Hemos preparado un proyecto de ejemplo que encontraras al final de este articulo.
Sube los archivos de tu aplicación a la carpeta del Application Root (por FTP o Administrador de archivos).
Si no recuerdas cual es el directorio, es el del subdominio: /home/usuario/miapp.dominio.com
El proyecto de ejemplo ya tiene el package.json
necesario para ejecutar la aplicación.
Si necesitas dependencias, usa el botón Run NPM Install para que se instalen todas las dependencias que nuestro proyecto necesite.
Si todo salió bien, veras un mensaje indicándote de que las dependencias fueron instaladas correctamente:
Y también veras que se ha generado el enlace simbólico al directorio node_modules
En este punto ya nuestra aplicación esta casi lista, pero antes revisaremos nuestro archivo app.js
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Hola desde Node.js en cPanel");
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Servidor escuchando en puerto ${PORT}`);
});
Como podemos ver nuestro archivo de ejemplo, tiene un código bastante básico en donde únicamente nos aparecerá un mensaje indicándonos de que la aplicación se ha iniciado correctamente.
Ahora hacemos Clic en "Start App", y veremos como se inicia nuestra aplicación.
Una vez iniciada hacemos clic en el enlace de nuestra aplicación:
Y Listo! nuestra aplicación ya se ha ejecutado y esta funcionando correctamente.
# Publicar una aplicación externa (ej: frontend React, Angular, Vue)
Si quieres publicar un proyecto externo compilado (ejemplo: React/Angular), hay 2 caminos:
Opción A: Usar Node.js en cPanel (SSR / servidor Express)
Compilas tu proyecto en local con:
npm run build
Creas un
server.js
que sirva esos archivos:const express = require("express");
const path = require("path");
const app = express();
app.use(express.static(path.join(__dirname, "build")));
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname, "build", "index.html"));
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`App corriendo en puerto ${PORT}`));Configuras la aplicación de NodeJS para que apunte a
server.js
.
Consideraciones Importantes:
Antes de ejecutar cualquier comando (como npm install
, npm run build
, etc.), debes activar el entorno virtual, haciendo clic en la ruta se copiara automaticamente el comando.
Dirígete hacia la Terminal del cPanel y pega el comando que previamente has copiado, una vez hecho veras algo como esto:
[miapp.dominio.com (20)] [usuario@server miapp.dominio.com]$
Una vez dentro, ahora si podrás ejecutar comandos normalmente
(npm install
,npm run build
, etc.).
Para salir del entorno, simplemente ejecuta:
deactivate
Opción B: Publicar como sitio estático (sin Node.js)
Si tu proyecto es solo frontend compilado, no necesitas Node.js:
Ejecuta
npm run build
.Sube el contenido de la carpeta
build
odist
al public_html de tu dominio.Se servirá directamente como página web estática.
Con estos pasos ya puedes desplegar y administrar aplicaciones Node.js directamente desde cPanel, tanto si se trata de un backend completo como de un frontend estático.
Recuerda siempre activar el entorno virtual antes de ejecutar comandos y reiniciar tu aplicación desde el panel cuando realices cambios. De esta manera, tu proyecto se mantendrá estable, actualizado y listo para producción.
Descargar proyecto de ejemplo: