Une application Node.js peut être hébergée dans de nombreux endroits, en fonction de vos besoins. Voici une liste de toutes les différentes options dont vous disposez
Voici une liste non exhaustive des options que vous pouvez explorer lorsque vous souhaitez déployer votre application et la rendre accessible au public.
Je vais énumérer les options des plus simples et contraintes aux plus complexes et puissantes.
- L'option la plus simple jamais conçue: le tunnel local
- Déploiements sans configuration
- Sans serveur
- PAAS
- Serveur privé virtuel
- Metal à nu
L'option la plus simple jamais conçue: le tunnel local
Même si vous avez une adresse IP dynamique ou que vous êtes sous NAT, vous pouvez déployer votre application et répondre aux demandes directement depuis votre ordinateur en utilisant un tunnel local.
Cette option est adaptée pour des tests rapides, une démonstration d'un produit ou le partage d'une application avec un très petit groupe de personnes.
Un très bel outil pour cela, disponible sur toutes les plateformes, estngrok.
En l'utilisant, vous pouvez simplement taperngrok PORT
et le PORT souhaité est exposé à Internet. Vous obtiendrez un domaine ngrok.io, mais avec un abonnement payant, vous pouvez obtenir une URL personnalisée ainsi que plus d'options de sécurité (rappelez-vous que vous ouvrez votre machine à l'Internet public).
Un autre service que vous pouvez utiliser esthttps://github.com/localtunnel/localtunnel
Déploiements sans configuration
Problème
Problèmeest un terrain de jeu et un moyen de créer vos applications plus rapidement que jamais, et de les voir vivre sur leur propre sous-domaine glitch.com. Vous ne pouvez pas actuellement avoir de domaine personnalisé, et il y en a quelques-unsrestrictionsen place, mais c'est vraiment génial de prototyper. Cela a l'air amusant (et c'est un plus), et ce n'est pas un environnement simplifié - vous obtenez toute la puissance de Node.js, unCDN, stockage sécurisé des informations d'identification, importation / exportation GitHub et bien plus encore.
Fourni par la société derrière FogBugz et Trello (et co-créateurs de Stack Overflow).
Je l'utilise beaucoup à des fins de démonstration.
Codepen
Codepenest une plate-forme et une communauté incroyables. Vous pouvez créer un projet avec plusieurs fichiers et le déployer avec un domaine personnalisé.
Sans serveur
Un moyen de publier vos applications et de ne pas avoir de serveur à gérer estSans serveur. Serverless est un paradigme dans lequel vous publiez vos applications en tant queles fonctions, et ils répondent sur un point de terminaison du réseau (également appelé FAAS - Functions As A Service).
Des solutions très populaires sont
Ils fournissent tous deux une couche d'abstraction pour la publication sur AWS Lambda et d'autres solutions FAAS basées sur Azure ou l'offre Google Cloud.
PAAS
PAAS signifie Platform As A Service. Ces plates-formes enlèvent beaucoup de choses dont vous devriez autrement vous soucier lors du déploiement de votre application.
Zeit maintenant
Zeit s'appelle maintenantVercel
Zeit est une option intéressante. Vous venez de tapernow
dans votre terminal, et il se charge de déployer votre application. Il existe une version gratuite avec des limitations et la version payante est plus puissante. Vous oubliez qu'il y a un serveur, il vous suffit de déployer l'application.
Nanobox
Heroku
Heroku est une plate-forme incroyable.
Ceci est un excellent article surdémarrer avec Node.js sur Heroku.
Microsoft Azure
Azure est l'offre Microsoft Cloud.
Découvrez commentcréer une application web Node.js dans Azure.
Google Cloud Platform
Google Cloud est une structure incroyable pour vos applications.
Ils ont un bonSection de documentation Node.js
Serveur privé virtuel
Dans cette section, vous trouverez les suspects habituels, classés du plus convivial au moins convivial:
- Océan numérique
- Linode
- Services Web Amazon, en particulier, je mentionne Amazon Elastic Beanstalk car il évite un peu la complexité d'AWS.
Puisqu'ils fournissent une machine Linux vide sur laquelle vous pouvez travailler, il n'y a pas de tutoriel spécifique pour ceux-ci.
Il y a beaucoup plus d'options dans la catégorie VPS, ce ne sont que celles que j'ai utilisées et que je recommanderais.
Metal à nu
Une autre solution consiste à obtenir un serveur bare metal, à installer une distribution Linux, à le connecter à Internet (ou à en louer un par mois, comme vous pouvez le faire en utilisant leMétal nu Vultrun service)
Téléchargez mon gratuitManuel de Node.js
Plus de didacticiels sur les nœuds:
- Une introduction au gestionnaire de paquets npm
- Introduction à Node.js
- Requêtes HTTP utilisant Axios
- Où héberger une application Node.js
- Interagissez avec l'API Google Analytics à l'aide de Node.js
- Le lanceur de package npx Node
- Le guide package.json
- Où npm installe-t-il les packages?
- Comment mettre à jour Node.js
- Comment utiliser ou exécuter un package installé à l'aide de npm
- Le fichier package-lock.json
- Gestion des versions sémantiques à l'aide de npm
- Devez-vous valider le dossier node_modules dans Git?
- Mettez à jour toutes les dépendances de nœud vers leur dernière version
- Analyser JSON avec Node.js
- Rechercher la version installée d'un package npm
- Flux Node.js
- Installer une ancienne version d'un package npm
- Obtenir le dossier actuel dans Node
- Comment enregistrer un objet dans Node
- Exposer la fonctionnalité d'un fichier Node à l'aide d'export
- Différences entre Node et le navigateur
- Faire une requête HTTP POST à l'aide de Node
- Obtenir les données du corps de la requête HTTP à l'aide de Node
- Tampons de nœud
- Une brève histoire de Node.js
- Comment installer Node.js
- Quelle quantité de JavaScript devez-vous connaître pour utiliser Node?
- Comment utiliser le REPL Node.js
- Nœud, accepter les arguments de la ligne de commande
- Sortie vers la ligne de commande à l'aide de Node
- Accepter l'entrée de la ligne de commande dans Node
- Désinstaller les packages npm avec `npm uninstall`
- packages mondiaux ou locaux npm
- dépendances npm et devDependencies
- La boucle d'événements Node.js
- Comprendre process.nextTick ()
- Comprendre setImmediate ()
- L'émetteur d'événement de nœud
- Construire un serveur HTTP
- Faire des requêtes HTTP avec Node
- Le module Node fs
- Requêtes HTTP dans Node utilisant Axios
- Lire des fichiers avec Node
- Chemins de fichiers de noeud
- Écriture de fichiers avec Node
- Statistiques du fichier de nœud
- Utilisation des descripteurs de fichiers dans Node
- Travailler avec des dossiers dans Node
- Le module de chemin de nœud
- Le module Node http
- Utilisation de WebSockets avec Node.js
- Les bases de l'utilisation de MySQL et de Node
- Gestion des erreurs dans Node.js
- Le guide du carlin
- Comment lire les variables d'environnement à partir de Node.js
- Comment quitter un programme Node.js
- Le module Node OS
- Le module d'événements Node
- Node, la différence entre développement et production
- Comment vérifier si un fichier existe dans Node.js
- Comment créer un fichier vide dans Node.js
- Comment supprimer un fichier avec Node.js
- Comment obtenir la dernière date de mise à jour d'un fichier à l'aide de Node.js
- Comment déterminer si une date est aujourd'hui en JavaScript
- Comment écrire un objet JSON dans un fichier dans Node.js
- Pourquoi devriez-vous utiliser Node.js dans votre prochain projet?
- Exécutez un serveur Web à partir de n'importe quel dossier
- Comment utiliser MongoDB avec Node.js
- Utilisez Chrome DevTools pour déboguer une application Node.js
- Qu'est-ce que pnpm?
- Liste des options de Node.js Runtime v8
- Comment corriger l'erreur "Accès en écriture manquant" lors de l'utilisation de npm
- Comment activer les modules ES dans Node.js
- Comment générer un processus enfant avec Node.js
- Comment obtenir à la fois du corps analysé et du corps brut dans Express
- Comment gérer les téléchargements de fichiers dans Node.js
- Que sont les dépendances homologues dans un module Node?
- Comment écrire un fichier CSV avec Node.js
- Comment lire un fichier CSV avec Node.js
- Les modules Node Core
- Incrémenter plusieurs numéros de dossiers à la fois à l'aide de Node.js
- Comment imprimer un canevas sur une URL de données
- Comment créer et enregistrer une image avec Node.js et Canvas
- Comment télécharger une image à l'aide de Node.js
- Comment renommer en masse des fichiers dans Node.js
- Comment obtenir les noms de tous les fichiers d'un dossier dans Node
- Comment utiliser les promesses et attendre avec les fonctions basées sur le rappel de Node.js
- Comment tester un package npm localement
- Comment vérifier la version actuelle de Node.js au moment de l'exécution
- Comment utiliser Sequelize pour interagir avec PostgreSQL
- Servir une page HTML à l'aide de Node.js
- Comment résoudre l'erreur `util.pump n'est pas une fonction` dans Node.js