Cómo instalar una aplicación Node.js

Cómo instalar una aplicación Node.js


Última modificación: 9 de septiembre de 2021

Visión general

Advertencia:

  • Debido a que cPanel, LLC no desarrolla Node.js, el soporte técnico de cPanel no puede ayudarlo con estos pasos.
  • Recomendamos que solamente Los administradores de sistemas experimentados realizan estos pasos.
  • Nosotros estamos no responsable de cualquier pérdida de datos.

Este documento describe cómo instalar un Node.js Aplicación web. Node.js es un tiempo de ejecución de JavaScript que le permite crear aplicaciones web escalables.

Nota:

  • Le recomendamos que realice los pasos de este documento a través de la línea de comandos como usuario de cPanel, a menos que se especifique lo contrario.
  • También puede realizar estos pasos en cPanel’s Terminal interfaz (cPanel >> Inicio >> Avanzado >> Terminal).
  • En este documento, nodejsapp representa el nombre de la aplicación y 3000 representa representa un puerto de firewall abierto.

Para obtener más información, lea el Node.js documentación.

Instalar una aplicación Node.js

Advertencia:

Solamente realice los pasos de este documento como usuario de cPanel. Hacer no Realice estos pasos como root usuario, ya que se trata de un riesgo de seguridad.

Configuración previa a la instalación

Antes de comenzar, asegúrese de que su proveedor de alojamiento haya instalado lo siguiente EasyApache 4 RPM en su servidor:

  • ea-ruby27-mod_passenger

  • ea-apache24-mod_env

  • ea-nodejs10

    Nota:

    También recomendamos que su proveedor de alojamiento instale el ea-ruby27-ruby-devel módulo.

Instalar la aplicación

Para instalar una aplicación, realice los siguientes pasos:

  1. Inicie sesión en el servidor a través de SSH como usuario de cPanel.

  2. Cree el directorio de la aplicación, relativo a su directorio de inicio. Para hacer esto, ejecute el siguiente comando:

  3. Cambie al directorio de la aplicación.

  4. Crea el app.js archivo con un editor de texto.

    Importante:

    Nosotros fuertemente Le recomendamos que cree el archivo con este nombre exacto porque Passenger busca este nombre de archivo cuando se ejecuta. Si crea un archivo de inicio con un nombre diferente, debe especificar el nombre del archivo en el archivo ‘httpd.conf’. Para hacer esto, siga las instrucciones en el Crea un archivo de inicio personalizado sección siguiente.

  5. Agregue la configuración de la aplicación al app.js expediente. Esto se parecerá al siguiente ejemplo:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    const http = require('http')
    const hostname = '127.0.0.1';
    const port = 3000;
    
    const server = http.createServer((req, res) => {
      res.statusCode = 200;
      res.setHeader('Content-Type', 'text/plain');
      res.end('Hello World! NodeJS n');
    });
    
    server.listen(port, hostname, () => {
      console.log(`Server running at http://${hostname}:${port}/`);
    });

Prueba la aplicación

Después de instalar la aplicación, le recomendamos que confirme que está activa. Para hacer esto, siga los siguientes pasos:

  1. Inicie sesión en el servidor a través de SSH como usuario de cPanel.

  2. Ejecute el siguiente comando:

    /opt/cpanel/ea-nodejs10/bin/node app.js

    La salida se parecerá al siguiente ejemplo:

    Server running at http://127.0.0.1:3000
  3. Abra otra ventana de terminal e inicie sesión en el servidor a través de SSH como el mismo usuario de cPanel.

  4. Ejecute el siguiente comando:

    curl http://127.0.0.1:3000

    La salida se parecerá al siguiente ejemplo:

  5. Detenga el proceso de prueba presionando CTRL + C en la ventana de terminal abierta, o ejecute el siguiente comando:

    Esto devolverá una lista de pid (ID de proceso) números de programas en ejecución que contienen el nombre del script. Detenga la aplicación de prueba ejecutando el siguiente comando, donde PIDNUMBER es el ID del proceso:

Nota:

Si desea exportar el /opt/cpanel/ea-nodejs10/bin ruta a su entorno, agregue la siguiente línea a su .bashrc expediente:

export PATH=/opt/cpanel/ea-nodejs10/bin/:$PATH

Registre la aplicación

Después de instalar la aplicación, regístrela. Para hacer esto, use cPanel’s Gestor de aplicaciones interfaz (cPanel >> Inicio >> Software >> Administrador de aplicaciones).

Después de registrar la aplicación, puede acceder a la aplicación en un navegador web con la siguiente URL:

http://example.com/nodejsapp

Nota:

En este ejemplo, example.com representa su sitio web.

Reinicia la aplicación

Cuando desee que su aplicación se reinicie después de editarla, crear el restart.txt archivo táctil en la aplicación tmp directorio. Este archivo dirige mod_passenger para reiniciar la aplicación después de modificarla. Esta acción aplica sus cambios a la aplicación.

Importante:

  • usted debe toca el restart.txt toca el archivo cada vez que quieras mod_passenger para reiniciar la aplicación.
  • usted debe crear manualmente el tmp directorio. Por ejemplo:

Crea un archivo de inicio personalizado

El pasajero busca el app.js nombre de archivo cuando se ejecuta. Si crea un archivo de inicio con un nombre diferente, debe crear un archivo de inclusión y especificar allí el nombre del archivo de inicio. Si no lo hace, su aplicación no funcionará.

Para especificar el nuevo nombre de archivo, realice los siguientes pasos:

  1. Crea el /etc/apache2/conf.d/userdata/ssl/2_4/user/domain.nodejs.conf archivo con un editor de texto.

  2. Añade el PassengerStartupFile variable y el nombre del archivo como su valor en un contenedor de host virtual. Esto se parecerá al siguiente ejemplo:

    1
    2
    3
    4
    5
    6
    
    DocumentRoot /user/example.com/public
    # Use server.js as the startup file (entry point file) for
    # your Node.js application, instead of the default app.js
    PassengerStartupFile index.js
    PassengerAppType node
    PassengerAppRoot /nodejsapp/example.com
  3. Reconstruir el httpd.conf expediente. Para hacer esto, ejecute el siguiente comando:

    /usr/local/cpanel/scripts/rebuildhttpdconf
  4. Reinicie Apache. Para hacer esto, ejecute el siguiente comando:

    /usr/local/cpanel/scripts/restartsrv_httpd

Solucionar problemas de la aplicación

Puede encontrar mensajes de error en la aplicación /home/user/nodejsapp/logs directorio.

Si tiene problemas con su aplicación Node.js, use Phusion Passenger’s ™ Solución de problemas de Passenger Standalone y Node.js documentación para solucionar el problema.

La aplicación no creará un archivo de inclusión SSL

Si su aplicación no crea un archivo de inclusión SSL, es probable que esté utilizando una aplicación Node.js con un dominio adicional. Este problema ocurre cuando la ruta de la aplicación Node.js difiere de la ruta raíz del documento del dominio adicional.

Para solucionar este problema, puede crear un archivo de inclusión SSL para el dominio adicional. Para hacer esto, siga los siguientes pasos:

  1. Complete los pasos para registrar la aplicación. Esta acción crea un archivo de configuración que el sistema almacenará en el /etc/apache2/conf.d/userdata/std/2_4/username/example.com/ directorio. En este ejemplo, example.com representa el nombre de dominio adicional.

  2. Copie el archivo de configuración para su dominio adicional en el /etc/apache2/conf.d/userdata/std/2_4/username/example.com/ directorio al /etc/apache2/conf.d/userdata/ssl directorio. Para hacerlo, use el siguiente comando:

    cp -a /etc/apache2/conf.d/userdata/std/2_4/username/example.com/application-name.conf /etc/apache2/conf.d/userdata/ssl/2_4/username/example.com/application-name.conf
  3. Reconstruya la configuración de Apache y reinicie Apache con los siguientes comandos:

    1
    2
    
    /usr/local/cpanel/scripts/rebuildhttpdconf
    /usr/local/cpanel/scripts/restartsrv_httpd

Para obtener más información sobre estos scripts, lea los rebuildhttpdconf Texto y los restartsrv Guiones documentación.

Ahora puede acceder a la aplicación Node.js a través de la URL del dominio adicional a través de HTTP (puerto 80) y HTTPS (puerto 443).

Solución de problemas del puerto de la aplicación

Passenger controla el puerto en el que escucha su aplicación Node.js cuando realiza solicitudes HTTP. Esto se conoce como enlace de puerto inverso. El enlace de puerto inverso permite que las aplicaciones de Node.js funcionen con Passenger.

Si tiene problemas con el puerto en el que escuchan sus aplicaciones Node.js, use Phusion Passenger’s ™ Enlace de puerto inverso en Node.js documentación para solucionar el problema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *