Je suis l'aide d'un serveur pour héberger plusieurs Node.js web apps, qui sont distribués dans plusieurs domaines. Ma pratique actuelle consiste à exécuter un Express server pour chaque application sur un autre port, et à exécuter un serveur de base que tout simplement routes (redirections) les requêtes vers le port correct/Express server. Cela fonctionne, mais cela signifie que mon serveur de base est de routage de chaque requête HTTP (et manuellement en la redirigeant), et que mes utilisateurs voir mes applications hébergées à [hostname.com]:8000.
Après un peu de recherche, j'ai trouvé que je peux utiliser http-proxy pour mes besoins de routage, mais je voudrais encore savoir si il y a une bonne pratique pour l'exécution de plusieurs Exprimer des serveurs sur le même système. Voici comment je vais la faire:
Chaque application dispose de son propre dossier, et pour Exprimer la structure de dossier (app.js, les itinéraires, les points de vue, etc.) Les applications seront regroupées par domaine, de sorte qu'un exemple de structure de dossier serait:
hostname.com/
app.js
routes/
views/
...
app1/
app1.js
routes/
views/
...
app2
...
hostname2.com/
app.js
routes/
views/
...
Je vais devoir courir chaque app.js séparément avec nœud (ou pour toujours, que je suis en train de l'utiliser), et chacun devra utiliser un port différent à l'interne, avec la croix-application redirige être signalé au port de l'application cible.
Donc, c'est mon plan actuel. Quels sont les problèmes avec elle, et quels sont les pièges devrais-je essayer de l'éviter? Plus important encore, est-t-il un solution à ce problème - le problème de l'hébergement de plusieurs applications web sur le même système avec le Noeud.js/Express?
EDIT: je vais finalement utiliser les WebSockets et HTTPS, et la quantité de bande passante ma configuration peut prendre en charge est de peu d'importance pour moi, c'est un serveur de développement (au moins pour l'instant). Merci à David Ellis pour amener la question des WebSockets.
DEUXIÈME EDIT: Merci pour les deux EhevuTov et David Ellis pour leurs réponses, qui ont contribué grandement. Je suis encore de s'installer sur une structure globale pour mon application, et il semble que cette question est abordée dans le détail de cette question StackOverflow
TROISIÈME EDIT: j'ai parcouru du chemin depuis l'affichage de cette question (mais j'ai encore beaucoup à faire). Découvrez ce fichier dans mon dépôt GitHub, qui tire parti de ce que j'ai appris à partir des réponses à cette question!