Node.js ofrece la capacidad de ejecutar aplicaciones web del lado del servidor escritas en JavaScript.
En esta guía te explicaremos cómo configurar rápidamente una aplicación de Node.js dentro de tu hosting cPanel. Utilizaremos nuestra aplicación de ejemplo para mostrarte el paso a paso.
Si necesitas correr Node.js en tu cuenta, necesitas un plan que cuente con Terminal o Consola SSH. Te recomendamos que cuentes con un plan Cloud Hosting. Este plan te garantizará la potencia mínima necesaria para que tus aplicaciones de Node.js funcionen correctamente. Si no cuentas con uno, te mostramos en esta guía cómo actualizar el paquete.
Si tienes un servidor propio (Cloud VPS o Servidor Dedicado) entonces sigue esta otra guía: Cómo utilizar Node.js en tu propio servidor cPanel (NodeJS Manager).
Sube y crea tu app de Node.js
Sube los archivos de tu App Node.js
Primero deberás subir los archivos de tu App de Node.js a tu hosting. Para ello puedes hacer lo siguiente:
- Accede a la Terminal de cPanel de tu cuenta.
-
Clona el repositorio de la App. En este caso utilizaremos nuestra App de pruebas de Node.js:
cd ~
git clone https://github.com/wnpower/NodeJS-TestApp
cd NodeJS-TestApp
Si bien aquí utilizamos Git, puedes subir tu App desde el Administrador de Archivos de cPanel o con el cliente Git de cPanel, entre otros.
En este caso, el comando anterior descargará la App de pruebas en la carpeta "NodeJS-TestApp" del directorio raíz de tu cuenta.
No subas los archivos de tu App de Node.js a la carpeta web pública (public_html), sino por fuera de ella, por ejemplo /home/usuario/NodeJS-TestApp. Luego al crear la aplicación de Node.js podrás definir cuál será la ruta o URL pública para acceder a tu App vía web (en los pasos siguientes).
Si no tienes una app creada y deseas comenzar desde cero en el entorno de Node.js de tu hosting (por ejemplo usando "npm" para instalar componentes desde cero), entonces puedes obviar esto, continuar al siguiente paso y luego de crear la App de Node.js en tu hosting ingresar al entorno virtual directamente.
Crear la App de Node.js en tu hosting cPanel
- Ingresa dentro de tu cPanel a "Setup Node.js App", que se encuentra dentro del grupo de "Software":
- Haz clic en el botón "Create Application" para agregar una nueva app:
- Completa los datos de tu App, de la siguiente manera:
- Node.js version: versión de Node.js que ejecutará tu App. Si no sabes qué versión seleccionar, deja la que viene recomendada, pero asegúrate que quede seleccionada la "recomendada".
- Application mode: es la variable de entorno de tu app que define el modo de ejecución. Por defecto, si no sabes que es esta variable, te sugerimos seleccionar "Production".
- Application root: debes indicar el nombre de la carpeta de tu App, que subiste en el paso anterior. Si tu app está subida en /home/usuario/NodeJS-TestApp, en este campo deberás colocar "NodeJS-TestApp".
- Application URL: aquí indicarás cuál será la URL donde responderá tu app. Por defecto puedes dejarlo vacío para que tu App responda en tu dominio raíz. Sin embargo, si quieres que tu app sea accesible vía una subcarpeta, por ejemplo, dominio.com/testapp, deberás colocar "/testapp" en este campo (con la barra al principio).
- Application startup file: debes indicar el nombre del archivo principal de tu app de Node.js (con extensión ".js").
- Passenger log file (+): puedes especificar la ruta donde se guardará el log de tu aplicación.
- 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.
- Espera, ¡aún no terminamos! Una vez creada la App, en la pantalla siguiente, verás que aparece el botón "Run NPM Install" para instalar npm y las dependencias de tu App. Haz clic en él:
Si todo fue bien, verás un mensaje en verde en la parte superior de la pantalla, como el siguiente:
- Por último, si creaste tu App de Node.js en el raíz de tu dominio (es decir, no completaste nada en la opción "Application URL"), deberás asegurarte que no existe ningún archivo "index" o "default" que pueda interferir con el acceso web a tu app.
- ¡Listo! Si todo salió bien, cuando ingreses a tu dominio (o la URL que hayas asignado al crear la App), verás lo siguiente en pantalla:
Este sería el output de nuestra App de Node.js de pruebas que usamos en el ejemplo. Si has seguido los pasos con tu propia App, aquí deberías ver el output de tu propia aplicación.
Opciones Avanzadas
Entorno virtual de tu App de Node.js
El entorno virtual de nodeenv es un entorno de desarrollo aislado y exclusivo para tu App de Node.js, el cual permite que tengas diferentes versiones de Node.js en tu cuenta y sus paquetes asociados a cada app de Node.js por separado.
Si necesitas ejecutar comandos como "node" o "npm" desde la terminal o consola ssh, deberás ingresar dentro del entorno virtual de tu app.
Recuerda que el comando "npm run build" y los que compilan código, debes ejecutarlos en tu entorno de desarrollo local (en tu PC) ya que suelen consumir una cantidad elevada de recursos que pueden saturar tu cuenta o no completarse. Si necesitas ejecutarlos en tu hosting y fallaran, es posible que debas realizar un upgrade de plan con mayores recursos para poder completar este tipo de ejecuciones.
Cómo acceder al entorno virtual de tu App de Node.js:
- Edita tu aplicación:
- En la parte superior te mostrará el comando para acceder al entorno virtual de tu aplicación por terminal o consola ssh. Si le haces clic copiará automáticamente el comando:
- Accede a la Terminal de cPanel de tu cuenta de hosting y pega el comando para abrir el entorno virtual de tu App de Node.js (copiado en el paso anterior). Puedes ejecutar comandos como "node --version" o "npm --version" para ver los resultados en pantalla:
Variables de Entorno
Las variables de entorno permiten configurar y personalizar el comportamiento de tu aplicación según el entorno de ejecución, como la configuración del servidor, las credenciales de bases de datos, o la habilitación de características específicas.
Para poder trabajar con las variables de entorno de tu app de Node.js haz lo siguiente:
- Edita tu aplicación:
- En la parte inferior puedes gestionar las variables de entorno:
- Una vez realizados los cambios, ve a la parte superior y presiona "GUARDAR" para guardar los cambios (es muy fácil olvidarse de este paso!):
Estas variables de entorno podrás luego accederlas desde tu app mediante "process.env.NOMBRE_VARIABLE".
Problemas comunes
- Es probable que tengas inconvenientes para iniciar tu aplicación si utilizas módulos de ECMAScript: Error ERR_REQUIRE_ESM "Must use import to load ES Module".
- Si dentro de tu sitio utilizas React Router o Vue Router, o cualquier otro router/mvc que capture todas las peticiones web, deberás crear tu app de Node.js en una subcarpeta y crear dentro de ella un archivo ".htaccess" con la sentencia "RewriteEngine off" para que puedas acceder a ella vía web y sea ignorada por router en cuestión.
- Al acceder vía web, en lugar de ver tu app de Node.js, ves un texto "It works!" como el siguiente:
Esto quiere decir que en la configuración de tu App de Node.js, en el campo Application startup file has ingresado un archivo inexistente o la ruta a tu archivo ".js" inicial es incorrecta y por ende, se muestra uno genérico. Debes corregirlo y reiniciar la aplicación para que tome efecto.
- Si recibes el error por la carpeta de "node_modules", debes renombrarla o eliminarla de tus archivos, dado que nuestro selector creará una carpeta de "node_modules" dinámica.
Puedes encontrar una lista completa de artículos de Node.js dentro de la categoría de Node.js en nuestro centro de ayuda donde tenemos diversas guías con los problemas más comunes que pueden ocurrir, con su explicación y solución para cada caso. Si no encuentras tu error en nuestro centro de ayuda, también puedes buscarlo en nuestra Comunidad de usuarios.
¡Eso es todo! Esperamos que te haya servido esta guía y que puedas correr Node.js en tu cuenta de hosting correctamente.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.