En este artículo se describe cómo instalar la plataforma Node.js en las cuentas de hosting compartido. Puede utilizar Node.js para alojar aplicaciones de terceros o puede ejecutar sus propias aplicaciones.

REQUISITOS PREVIOS DE INSTALACIÓN

Hay dos requisitos previos para ejecutar Node.js en una cuenta de hosting compartido:

  • Su cuenta debe tener la normal shell (no jailshell) habilitado. Para determinar qué shell su cuenta está utilizando, conectarse usando SSH y escriba el comando siguiente:
    echo $SHELL

    Si su cuenta está utilizando jailshell, por favor abra un ticket de soporte en el Portal de cliente en https://hostingbahia.com.ar/soporte y solicitar el acceso normal de la cáscara para su cuenta.

  • Node.js actualmente sólo funciona en servidores que ejecutan CentOS 6. Para determinar la versión de CentOS en su servidor, acceda a su cuenta a través de SSH y escriba el siguiente comando:
    uname -r

    Si el resultado de este comando contiene EL6 (por ejemplo, 2.6.32-531.17.1.lve1.2.60.EL6.x86_64 ), entonces su servidor está ejecutando CentOS 6. Sin embargo, si usted ve el5h (por ejemplo, 2.6.32 -531.23.3.lve1.2.66.el5h.x86_64 ), entonces el servidor se está ejecutando CentOS 5 y que no admite Node.js. Por favor, abra un ticket de soporte en https://hostingbahia.com.ar/soporte para discutir las opciones de migración del servidor.

INSTALACIÓN DE NODE.JS Y NPM

Después de determinar que su cuenta cumpla los requisitos previos de instalación, puede descargar e instalar Node.js y NPM (el gestor de paquetes Node.js). Para hacer esto, siga estos pasos:

  1. Ingrese a su cuenta a través de SSH .
  2. En el símbolo del sistema, escriba los siguientes comandos:
    cd ~
    wget https://nodejs.org/dist/v4.4.1/node-v4.4.1-linux-x64.tar.gz
    Este comando descarga los binarios para los Node.js versión 4.4.1 LTS (soporte a largo plazo) de liberación. Si descarga una versión de desarrollo más reciente de Node.js, cambiar los números de versión de los siguientes comandos para que coincida con la versión que ha descargado.
  3. Para extraer los archivos Node.js, escriba el siguiente comando:
    tar xvf node-v4.4.1-linux-x64.tar.gz
    
  4. Para cambiar el nombre de la carpeta extraída a la más conveniente nodejs nombre, escriba el siguiente comando:
    mv node-v4.4.1-linux-x64 nodejs
    
  5. Para instalar node y NPM binarios, escriba los siguientes comandos:
    mkdir ~/bin
    cp nodejs/bin/node ~/bin
    cd ~/bin
    ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm
    

    Después de ejecutar estos comandos, Node.js y NPM se instalan en su cuenta. Para comprobar esto, escriba los siguientes comandos:

    ./node --version
    ./npm --version
    

INICIO DE UNA APLICACIÓN NODE.JS

Después de instalar Node.js, ya está listo para ejecutar aplicaciones Node.js. Sin embargo, los pasos exactos para ello varían dependiendo de la configuración de la aplicación.

Método # 1: Uso NPM

Muchos third-party y “production-ready” utilizan el NPM programa para iniciar la aplicación, como lo demuestra el siguiente comando:

nohup ~/bin/npm start --production &
El y coloca el mando en el fondo, y el nohup comando asegura que la aplicación sigue funcionando incluso si sale de la actual sesión de terminal.

Para que este método funcione, debe haber una válida package.json archivo de la aplicación. El package.json archivo contiene metadatos del proyecto que el NPMprograma lee para determinar cómo iniciar la aplicación, gestionar sus dependencias, y mucho más.

Para ver el funcionario NPM documentación para el package.json archivo, por favor visite https://docs.npmjs.com/files/package.json .
Método # 2: Ejecutar node directamente

Para aplicaciones simples, o para cualquier aplicación que no tenga un archivo package.json, puede ejecutar el node ejecutable directamente y especificar el nombre de archivo de la aplicación. Por ejemplo:

nohup ~/bin/node my_app.js &

Sin embargo, se pierden los beneficios del uso de la NPM para gestionar la aplicación.

Como anteriormente, el y coloca el mando en el fondo, y el nohup comando asegura que la aplicación sigue funcionando incluso si sale de la actual sesión de terminal.

DETENER UNA APLICACIÓN NODE.JS

Para detener una aplicación Node.js actualmente en ejecución, escriba el siguiente comando:

pkill node

Este comando se detiene inmediatamente todas las aplicaciones que se ejecutan Node.js.

LA INTEGRACIÓN DE UNA APLICACIÓN NODE.JS CON EL SERVIDOR WEB

Dependiendo del tipo de aplicación Node.js está ejecutando, es posible que desee ser capaz de acceder a él mediante un navegador web. Para ello, es necesario seleccionar un puerto no utilizado para la aplicación Node.js para escuchar en, y luego definir reglas de reescritura de servidor que redirigen a los visitantes a la aplicación. Los pasos siguientes muestran cómo hacer esto:

  1. En un editor de texto, añadir las siguientes líneas al .htaccess archivo en el directorio /home/usuario/public_html directorio, donde nombre de usuario representa su nombre de usuario de cuenta:
    RewriteEngine On
    RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]
  2. En ambos RewriteRule líneas, sustituir XXXXX con el puerto en el que escucha su aplicación Node.js.
    Para ejecutar una aplicación Node.js en un servidor gestionado, debe seleccionar un puerto no utilizado y el número de puerto debe estar entre 49152 y 65535 (ambos inclusive).
  3. Guarde los cambios en el .htaccess archivo y salga del editor de texto. Los visitantes a su sitio web se redirigen a la aplicación Node.js escuchando en el puerto especificado.
    Si la aplicación no arranca, el puerto que eligió puede estar ya en uso. Compruebe el registro de solicitud de códigos de error como EADDRINUSE que indican que el puerto está en uso. Si es así, seleccione un número de puerto diferente, actualizar la configuración de la aplicación y el .htaccess archivo y vuelva a intentarlo.

MÁS INFORMACIÓN

Para obtener más información acerca de Node.js, visite http://nodejs.org .