Desarrollo / Guía

Elegir y desplegar un servidor Node.js

La elección de un servidor Node.js comienza con el funcionamiento de la aplicación. La salida estática, la representación del lado del servidor, la API y el trabajador de cola no tienen las mismas necesidades de implementación.

Determinar cómo funciona la aplicación.

Si el proyecto produce solo HTML/CSS/JavaScript estático, los archivos de salida se pueden publicar en alojamiento estático. Si hay una API o un proceso de renderizado ejecutándose en el lado del servidor, el proceso Node.js debe ejecutarse continuamente. Esta distinción cambia directamente la necesidad de infraestructura.

También enumere WebSocket, tareas programadas y trabajadores en segundo plano. No asuma que el alojamiento PHP estándar los admite. Obtenga una política clara de tiempo de ejecución y proceso del proveedor.

Tiempo de ejecución y dependencias

Seleccione una versión de Node.js que todavía sea compatible y pruebe la compatibilidad de sus dependencias. Separe los estados de LTS activo, LTS de mantenimiento y fin de soporte en el calendario de lanzamiento oficial. No haga de la versión escrita en una muestra antigua una elección permanente.

Utilice una instalación repetible con un archivo de bloqueo. Los módulos nativos pueden depender del sistema operativo y la arquitectura del procesador; No asuma que los archivos preparados en otro entorno funcionarán en el servidor de destino sin probarlos.

Construcción, gestión de procesos y proxy inverso.

Mida las demandas de memoria incurridas durante la compilación por separado del consumo operativo normal. Separar el proceso de compilación intensivo de la aplicación en vivo puede resultar útil en servidores pequeños. Conserve la salida de trabajo anterior para que se pueda revertir la versión publicada.

Defina cómo el proceso de solicitud comienza al iniciar el servidor y se reinicia en caso de falla. Administre HTTPS y conexiones externas a través de proxy inverso. Pruebe la promoción de la conexión y el comportamiento del tiempo de espera en el proyecto utilizando WebSocket.

Lista de verificación de producción

  • ¿El control de estado muestra que la aplicación realmente está funcionando?
  • ¿No se incluyen contraseñas y claves API en el paquete del cliente?
  • ¿Los registros contienen datos personales o secretos?
  • ¿Se gestionan las conexiones de bases de datos y colas en caso de error?
  • ¿Existe algún método probado para deshacer la transmisión?

Opciones de alojamiento Node.js Considere juntos el tipo de aplicación, la base de datos y las necesidades de proceso continuo. Agregue el mantenimiento del sistema operativo al costo del VDS.

Recursos y lecturas adicionales

Compare el servicio adecuado para su proyecto.

Abrir herramienta de selección de alojamiento