Cómo crear una aplicación Node.js
Cree, despliegue y reinicie una aplicación Node.js desde el Node.js Selector del panel de control de hospedaje web en el hospedaje compartido de CR Servers.
El Node.js Selector ejecuta una aplicación Node.js en su dominio o en una ruta del dominio, como https://sudominio.com/app/. El servidor inicia la aplicación y le envía el tráfico web, así que no necesita abrir ni configurar un puerto público.
Dos conceptos que conviene separar:
- Application root (raíz de la aplicación) es la carpeta de su cuenta que contiene el código, por ejemplo
apps/mi-node. - Application URL es la dirección pública que abren sus visitantes, por ejemplo
https://sudominio.com/app/.
Mantenga la raíz de la aplicación fuera de la carpeta pública de su sitio para que el código y la configuración no se puedan descargar.
Prepare su aplicación
- El proyecto necesita un
package.jsoncon sus dependencias y un archivo de arranque, comoapp.js. - La aplicación debe escuchar en el puerto que recibe en
process.env.PORT, por ejemploapp.listen(process.env.PORT || 3000). - No suba la carpeta
node_modules: el selector instala las dependencias.
Cree la aplicación
Las pantallas de CloudLinux están en inglés, así que los nombres de botones y campos aparecen aquí tal como los verá.
- En el panel de control de hospedaje web, abra CloudLinux → Node.js Selector (el ícono de nube en el menú izquierdo).
- Haga clic en Create Application.
- Complete el formulario:
- Node.js version: la lista inicia en una versión antigua. Cámbiela por una actual compatible con su aplicación; el servidor marca una como (recommended).
- Application mode: el formulario inicia en Development. Elija Production para un sitio en producción.
- Application root: la carpeta del código, dentro de su carpeta principal, por ejemplo
apps/mi-node. - Application URL: elija el dominio en la lista (puede mostrar un texto provisional como
[object Object]hasta que elija uno) y escriba una ruta en el campo de al lado, por ejemploapp. - Application startup file: el archivo que inicia la aplicación, por ejemplo
app.js.
- Agregue con Add Variable, en Environment variables, los ajustes que lee su aplicación (direcciones de API, llaves) en lugar de guardarlos en archivos.
- Haga clic en Create.
Si deja la ruta vacía, la aplicación responde por todo el dominio en lugar de los archivos de su carpeta pública. Use una ruta como app si quiere conservar su sitio actual.
Suba el código e instale dependencias
- Suba el proyecto a la raíz de la aplicación con el administrador de archivos o por FTP. El archivo de arranque y
package.jsonvan en el nivel superior de esa carpeta. - En el Node.js Selector, haga clic en el ícono de lápiz junto a la aplicación para abrirla.
- En Detected configuration files, haga clic en Run NPM Install.
- Haga clic en Restart.
- Haga clic en Open junto a la dirección de la aplicación y verifique que responde con HTTPS.
Después de cada cambio de código, suba los archivos y reinicie la aplicación, con Restart dentro de la aplicación o con el ícono de flecha circular en la lista. No necesita reiniciar nada más. Si cambia un ajuste del formulario, haga clic en Save.
Detener, iniciar o eliminar
La lista Web Applications muestra el estado (Status) y la versión de Node.js de cada aplicación, con íconos en Actions para detenerla, reiniciarla, editarla y eliminarla. Los mismos controles están dentro de la aplicación.
- Stop App (ícono cuadrado en la lista) deja la aplicación fuera de línea hasta que la vuelva a iniciar. Sus archivos se conservan.
- Destroy (ícono de papelera en la lista) quita la aplicación del selector. No es lo mismo que detenerla. Descargue primero una copia de su código y consulte a soporte si no está seguro de qué se conserva.
Si no funciona
- Página de error o respuesta en blanco: revise que el nombre del archivo de arranque coincida con el archivo que subió y reinicie la aplicación.
- Errores de módulos faltantes: confirme que
package.jsonincluye el módulo, ejecute Run NPM Install de nuevo y reinicie. - Los cambios no aparecen: reinicie la aplicación después de cada carga.
- Errores de HTTPS o del dominio: confirme que el dominio apunta a su hospedaje y tiene SSL activo (guía de SSL).
Si falta el selector o la aplicación sigue sin iniciar, abra un ticket con el dominio, la versión de Node.js, la dirección que falla, la hora aproximada y el mensaje de error (sin contraseñas ni llaves). Para aplicaciones pesadas, procesos en segundo plano o WebSockets, considere un VPS.