Wie sollte ich mehrere Express-Server auf demselben System organisieren?

Ich bin mit einem server, um host mehrere Node.js web-apps, die verteilt über mehrere Domänen. Meine derzeitige Praxis ist, zum ausführen einer Express-server für jede app einen anderen port, und zum ausführen eines Basisstation-server, der einfach Routen (Weiterleitungen) Anforderungen an den richtigen port/Express server. Das funktioniert auch, aber es bedeutet, dass mein base-server ist routing jeden einzelnen HTTP-request (und manuell umleiten), und dass meinen Benutzern finden Sie unter meine apps als hosted [hostname.com]:8000.

Nach ein bisschen recherche habe ich herausgefunden, dass ich verwenden können, http-proxy für meine routing-Anforderungen, aber ich würde noch gerne wissen, ob es eine best practice für den Betrieb mehrerer Server Express auf dem gleichen system. Hier ist, wie ich Plane, es zu tun:

Jede web-app über einen eigenen Ordner, mit einem kompletten Express-Ordner-Struktur (app.js, Routen, Ansichten, etc.) Apps gruppiert nach Domänen, so ein Beispiel-Ordner-Struktur wäre:

    hostname.com/
        app.js
        routes/
        views/
        ...
        app1/
            app1.js
            routes/
            views/
            ...
        app2
        ...
    hostname2.com/
        app.js
        routes/
        views/
        ...

Werde ich auf jeden app.js separat mit Knoten (oder mit für immerdie ich derzeit benutze), und jeder wird haben, um einen anderen port intern, mit Kreuz-app umleitet, wird darauf im Hafen von der Ziel-app.

So, das ist mein Aktueller plan. Was sind die Probleme mit ihm haben, und welche Fallstricke sollte ich versuchen zu vermeiden?
Am wichtigsten ist, ist es eine bewährte Lösung für dieses problem - das problem der hosting-mehrere web-apps auf dem gleichen system mit Knoten.js/Express?

EDIT: ich Plane, um schließlich verwenden Sie WebSockets und HTTPS, und die Bandbreite, die mein setup unterstützen kann ist für mich nicht so wichtig - dies ist eine Entwicklung, die server (zumindest für jetzt). Dank David Ellis für das Thema Erziehung von WebSockets.

ZWEITER EDIT: Danke an beide EhevuTov und David Ellis für Ihre Antworten, die beide sehr geholfen. Ich bin immer noch der Einigung auf eine Allgemeine Struktur für meine Anwendung, und es sieht so aus, dass die Frage gerichtet ist, in einigen Details von diese StackOverflow-Frage

DRITTE EDIT: ich bin gekommen ein ways seit der Veröffentlichung dieser Frage (obwohl ich schon viel weiter zu gehen). Check-out diese Datei in meinem GitHub-repositorydie nutzt, was ich gelernt habe aus den Antworten zu dieser Frage!

InformationsquelleAutor der Frage Aaron | 2012-02-17

Schreibe einen Kommentar