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 y3000
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:
Inicie sesión en el servidor a través de SSH como usuario de cPanel.
Cree el directorio de la aplicación, relativo a su directorio de inicio. Para hacer esto, ejecute el siguiente comando:
Cambie al directorio de la aplicación.
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.
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:
Inicie sesión en el servidor a través de SSH como usuario de cPanel.
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
Abra otra ventana de terminal e inicie sesión en el servidor a través de SSH como el mismo usuario de cPanel.
Ejecute el siguiente comando:
curl http://127.0.0.1:3000
La salida se parecerá al siguiente ejemplo:
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, dondePIDNUMBER
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 quierasmod_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:
Crea el
/etc/apache2/conf.d/userdata/ssl/2_4/user/domain.nodejs.conf
archivo con un editor de texto.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
Reconstruir el
httpd.conf
expediente. Para hacer esto, ejecute el siguiente comando:/usr/local/cpanel/scripts/rebuildhttpdconf
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:
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.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
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.