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.
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/master/linux_install_nodejs.sh -O linux_install_nodejs.sh && bash 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.
Después de hacer esto, puedes monitorear tu app Node.js con nuestra herramienta Node.js Manager.
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
También puedes matar todos los procesos en ejecución de tu cuenta utilizando el Monitor de Consumos de tu cuenta. - 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.
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 cuenta de hosting), sigue los pasos de este otro instructivo.
Si tienes un servicio gestionado por WNPower de Cloud VPS o Servidor Dedicado, recuerda abrir un ticket para que previamente activemos en tu consola la compatibilidad con Node.js.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.