Una aplicación Node.js se puede alojar en muchos lugares, según sus necesidades. Esta es una lista de todas las opciones que tiene a su disposición.
Aquí hay una lista no exhaustiva de las opciones que puede explorar cuando desee implementar su aplicación y hacerla accesible al público.
Enumeraré las opciones, desde las más simples y limitadas hasta las más complejas y poderosas.
- La opción más simple jamás vista: túnel local
- Implementaciones de configuración cero
- Sin servidor
- PAAS
- Servidor Virtual Privado
- Metal básico
La opción más simple jamás vista: túnel local
Incluso si tiene una IP dinámica o está bajo una NAT, puede implementar su aplicación y atender las solicitudes directamente desde su computadora utilizando un túnel local.
Esta opción es adecuada para realizar pruebas rápidas, hacer una demostración de un producto o compartir una aplicación con un grupo muy reducido de personas.
Una herramienta muy buena para esto, disponible en todas las plataformas, esngrok.
Usándolo, puede simplemente escribirngrok PORT
y el PUERTO que desea está expuesto a Internet. Obtendrá un dominio ngrok.io, pero con una suscripción paga puede obtener una URL personalizada, así como más opciones de seguridad (recuerde que está abriendo su máquina a la Internet pública).
Otro servicio que puede utilizar eshttps://github.com/localtunnel/localtunnel
Implementaciones de configuración cero
Falla
Fallaes un campo de juego y una forma de crear sus aplicaciones más rápido que nunca y verlas en vivo en su propio subdominio glitch.com. Actualmente no puede tener un dominio personalizado, y hay algunosrestriccionesen su lugar, pero es realmente genial crear un prototipo. Parece divertido (y esto es una ventaja), y no es un entorno tonto: obtienes todo el poder de Node.js, unCDN, almacenamiento seguro para credenciales, importación / exportación de GitHub y mucho más.
Proporcionado por la empresa detrás de FogBugz y Trello (y co-creadores de Stack Overflow).
Lo uso mucho con fines de demostración.
Codepen
Codepenes una plataforma y una comunidad increíbles. Puede crear un proyecto con varios archivos e implementarlo con un dominio personalizado.
Sin servidor
Una forma de publicar sus aplicaciones y no tener ningún servidor que administrar esSin servidor. Serverless es un paradigma en el que publica sus aplicaciones comofunciones, y responden en un punto final de la red (también llamado FAAS - Functions As A Service).
A soluciones muy populares son
Ambos proporcionan una capa de abstracción para publicar en AWS Lambda y otras soluciones FAAS basadas en Azure o la oferta de Google Cloud.
PAAS
PAAS son las siglas de Platform As A Service. Estas plataformas eliminan muchas cosas por las que debería preocuparse al implementar su aplicación.
Zeit ahora
Zeit ahora se llamaVercel
Zeit es una opción interesante. Solo escribenow
en su terminal, y se encarga de implementar su aplicación. Existe una versión gratuita con limitaciones y la versión de pago es más potente. Olvidas que hay un servidor, simplemente implementas la aplicación.
Nanobox
Heroku
Heroku es una plataforma asombrosa.
Este es un gran artículo sobrecomenzando con Node.js en Heroku.
Microsoft Azure
Azure es la oferta de Microsoft Cloud.
Mira cómocrear una aplicación web Node.js en Azure.
Google Cloud Platform
Google Cloud es una estructura asombrosa para sus aplicaciones.
Tienen un buenSección de documentación de Node.js
Servidor Virtual Privado
En esta sección encontrará los sospechosos habituales, ordenados de más fáciles de usar a menos fáciles de usar:
- Océano digital
- Linode
- Servicios web de Amazon, en particular menciono Amazon Elastic Beanstalk, ya que abstrae un poco la complejidad de AWS.
Dado que proporcionan una máquina Linux vacía en la que puede trabajar, no hay un tutorial específico para estos.
Hay muchas más opciones en la categoría VPS, esas son solo las que usé y las recomendaría.
Metal básico
Otra solución es obtener un servidor bare metal, instalar una distribución de Linux, conectarlo a Internet (o alquilar uno mensualmente, como puede hacer con elVultr Bare MetalServicio)
Descarga mi gratisManual de Node.js
Más tutoriales de nodos:
- Una introducción al administrador de paquetes npm
- Introducción a Node.js
- Solicitudes HTTP usando Axios
- Dónde alojar una aplicación Node.js
- Interactuar con la API de Google Analytics usando Node.js
- El corredor de paquetes de nodo npx
- La guía package.json
- ¿Dónde instala npm los paquetes?
- Cómo actualizar Node.js
- Cómo usar o ejecutar un paquete instalado usando npm
- El archivo package-lock.json
- Control de versiones semántico usando npm
- ¿Deberías enviar la carpeta node_modules a Git?
- Actualice todas las dependencias de Node a su última versión
- Analizando JSON con Node.js
- Encuentre la versión instalada de un paquete npm
- Secuencias de Node.js
- Instale una versión anterior de un paquete npm
- Obtener la carpeta actual en el nodo
- Cómo registrar un objeto en Node
- Exponer la funcionalidad de un archivo de nodo mediante exportaciones
- Diferencias entre el nodo y el navegador
- Hacer una solicitud HTTP POST usando Node
- Obtener datos del cuerpo de la solicitud HTTP usando Node
- Búferes de nodo
- Una breve historia de Node.js
- Cómo instalar Node.js
- ¿Cuánto JavaScript necesita saber para usar Node?
- Cómo usar el REPL de Node.js
- Nodo, acepta argumentos de la línea de comando
- Salida a la línea de comando usando Node
- Acepte la entrada de la línea de comando en el nodo
- Desinstalación de paquetes npm con `npm uninstall`
- paquetes locales o globales de npm
- dependencias npm y devDependencies
- El ciclo de eventos de Node.js
- Entendiendo process.nextTick ()
- Entendiendo setImmediate ()
- El emisor de eventos de nodo
- Construye un servidor HTTP
- Realización de solicitudes HTTP con Node
- El módulo Node fs
- Solicitudes HTTP en Node usando Axios
- Leer archivos con Node
- Rutas de archivo de nodo
- Escribir archivos con Node
- Estadísticas de archivos de nodo
- Trabajar con descriptores de archivo en Node
- Trabajar con carpetas en Node
- El módulo de ruta de nodo
- El módulo http de nodo
- Usando WebSockets con Node.js
- Los conceptos básicos para trabajar con MySQL y Node
- Manejo de errores en Node.js
- La guía Pug
- Cómo leer variables de entorno de Node.js
- Cómo salir de un programa de Node.js
- El módulo Node os
- El módulo de eventos de nodo
- Nodo, la diferencia entre desarrollo y producción
- Cómo comprobar si existe un archivo en Node.js
- Cómo crear un archivo vacío en Node.js
- Cómo eliminar un archivo con Node.js
- Cómo obtener la última fecha de actualización de un archivo usando Node.js
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo escribir un objeto JSON en un archivo en Node.js
- ¿Por qué debería usar Node.js en su próximo proyecto?
- Ejecute un servidor web desde cualquier carpeta
- Cómo usar MongoDB con Node.js
- Utilice Chrome DevTools para depurar una aplicación Node.js
- ¿Qué es pnpm?
- La lista de opciones de Node.js Runtime v8
- Cómo corregir el error "Falta acceso de escritura" al usar npm
- Cómo habilitar los módulos ES en Node.js
- Cómo generar un proceso hijo con Node.js
- Cómo obtener tanto el cuerpo analizado como el cuerpo crudo en Express
- Cómo manejar la carga de archivos en Node.js
- ¿Qué son las dependencias entre pares en un módulo de nodo?
- Cómo escribir un archivo CSV con Node.js
- Cómo leer un archivo CSV con Node.js
- Los módulos principales del nodo
- Incrementar varios números de carpetas a la vez usando Node.js
- Cómo imprimir un lienzo en una URL de datos
- Cómo crear y guardar una imagen con Node.js y Canvas
- Cómo descargar una imagen usando Node.js
- Cómo cambiar el nombre de archivos en masa en Node.js
- Cómo obtener los nombres de todos los archivos en una carpeta en Node
- Cómo usar promesas y esperar con las funciones basadas en devolución de llamada de Node.js
- Cómo probar un paquete npm localmente
- Cómo verificar la versión actual de Node.js en tiempo de ejecución
- Cómo utilizar Sequelize para interactuar con PostgreSQL
- Sirve una página HTML con Node.js
- Cómo resolver el error `util.pump is not a function` en Node.js