Si tienes un servicio de Hosting o Cloud Hosting, deberás crear tu Aplicación de Node.js dentro de cPanel directamente con su entorno virtual. Para ello dirígete a esta otra guía: Cómo utilizar Node.js en tu hosting cPanel.
Si tienes un servidor propio (Cloud VPS o Servidor Dedicado) gestionado, entonces sigue esta otra guía: Cómo utilizar Node.js en tu propio servidor cPanel (NodeJS Manager).
Esta guía ya no es sugerida de utilizar y sólo la conservamos por si dispones de un servidor autogestionado.
Instalación de Node de forma manual (servidores autogestionados)
Utilizaremos esta guía para explicarte cómo correr una aplicación en Node.js sobre un servicio Linux, usando SSH o la terminal de cPanel, de forma manual.
Es importante que sigas todos los pasos de la guía, la cual incluye la instalación de Node.js, instalación de una App, formas de iniciarla y que quede en ejecución y cómo publicarla para que sea accesible vía web.
Si tienes un servicio de hosting o un servidor gestionado, esta guía no es para ti y debes acceder a la guía correspondiente en cada caso: Node en Hosting y Node en VPS o Servidor con Gestión de WNPower.
Guía de video
Opción a) Instalación express
El procedimiento se puede realizar manualmente como lo ves un poco más abajo, pero también creamos una manera simple para que puedas hacerlo ejecutando el siguiente script:
wget https://raw.githubusercontent.com/wnpower/NodeJS-Install/ -O linux_install_nodejs.sh && bash linux_install_nodejs.shmaster/linux_install_nodejs.sh
Luego sólo restaría hacer la Integración con el servicio web y no olvides agregar la tarea programada (Cron) para autoiniciar.
Opción b) Instalación manual
Ingresa por Terminal o SSH a tu cuenta donde vas a instalar/ejecutar la aplicación.
-
Debes descargar y descomprimir los binarios de node.js para Linux del siguiente sitio: https://nodejs.org/dist/ (en el momento de la redacción de este artículo la última versión es la v8.11.3, pero te recomendamos buscar en el link y reemplazarlo por su última versión disponible).
cd ~
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.gz
tar xvfz node-v8.11.3-linux-x64.tar.gz
mv node-v8.11.3-linux-x64 nodejs -
Copia los binarios a ~/bin para que estén en el path:
mkdir ~/bin
cp nodejs/bin/node ~/bin
cd ~/bin
ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm - Ejecuta lo siguiente para agregar el PATH local:
sed -i '/PATH=\$PATH:\$HOME\/bin/d' ~/.bashrc
sed -i '/export PATH/d' ~/.bashrc
echo 'PATH=$PATH:$HOME/bin' >> ~/.bashrc
echo 'export PATH' >> ~/.bashrc
PATH=$PATH:$HOME/bin
export PATH -
Verifica si funciona correctamente (recuerda que las versiones deberían ser más nuevas que esta guía):
# node --version
v8.11.3
# npm --version
v5.6.0
Instalación e inicio de la aplicación Node.js
- Carga los archivos de tu App en una carpeta por fuera y en paralelo del directorio web público /public_html. Por ejemplo /PruebaNode.
- Ingresa a la terminal o consola SSH y ejecuta lo siguiente:
cd ~/PruebaNode
nohup node my_app.js &
Aplicación de prueba
Te recomendamos descargar y correr la siguiente aplicación de ejemplo para probar Node.JS: https://github.com/wnpower/NodeJS-TestApp
cd ~
git clone https://github.com/wnpower/NodeJS-TestApp.git
cd NodeJS-TestApp
npm install
node test_app.js
Reinicio de aplicación
- Primero finaliza tu proceso activo de Node.js:
pkill node
- Luego inicia de nuevo el proceso según el procedimiento anterior.
Integración con el servidor web
Si ya tienes un servidor web corriendo y quieres que tu App de Node.js sea accesible vía web, deberás configurar algunas reglas que hagan de "proxy" desde el servicio web hacia el puerto interno que has seteado de tu App de Node.js en ejecución.
Para ello, crea un archivo .htaccess en el directorio web público del servidor web /public_html con el siguiente contenido, reemplazando "XXXXX" por el puerto de tu aplicación Node.js:
DirectoryIndex ""
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/app [NC]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://127.0.0.1:XXXXX%{REQUEST_URI} [P,QSA,L]
RewriteCond %{REQUEST_URI} ^/app [NC]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:XXXXX%{REQUEST_URI} [P,QSA,L]
Notas:
- No hace falta crear la carpeta "/app", pero si quisieras que tu app responda en el raíz de tu dominio o subdominio, entonces reemplaza "/app" por "/" en el código anterior.
- Si vas a instalar tu app de Node.js en un subdominio, tendrás que crearlo primero.
- Si utilizas Websockets, podrás acceder vía "ws" y recuerda que para acceder vía "wss" (WebSocket Seguro) deberás tener tu certificado SSL generado y activo en tu cuenta.
Cómo levantar tu aplicación Node.js por si sola usando CRON
Si deseas que tu aplicación Node.js inicie automáticamente (te lo recomendamos si tuviera un problema, cuelgue o mantenimiento de tu servidor), sigue los pasos de este otro instructivo.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.