2017-07-03 1 views
1

Ich möchte einen zweiten node.js-Server einrichten, um eine express.js-Anwendung auszuführen, die eine exakte und unabhängige Kopie meiner aktuellen html-Dateien (clientseitig) und js-Dateien (serverseitig) ist.Wie kann ich eine unabhängige express.js-Anwendung mit einem zweiten Knoten-Server ausführen?

Der Grund ist, dass ich meinen aktuellen Code in einer Produktionsumgebung bereitstellen möchte, die von dem Team verwendet werden kann, das nicht heruntergefahren wird, während ich an meinem aktuellen Code in einer Entwicklungsumgebung arbeite.

Meine Sorge ist, dass ich meinen aktuellen node.js Server meinem Pfad hinzugefügt habe und ich bin nicht sicher, ob bei der Installation des zweiten node.js Servers mein Befehl zum Starten des zweiten Servers den node.js Server stören wird Ich habe in meinem Pfad Variable gespeichert.

Hier sind ein paar Dinge zu wissen, bevor ich meine Fragen stellen:

  1. ich auf einer Maschine mit einer Linux-Distribution arbeitete.
  2. Ich verwende Express.js Routing

ich die Anweisungen verwende eine andere Instanz von node.js und Express.js bei installieren:

www.vultr.com/docs/installing-node-js-and-express

Meine Fragen sind wie folgt:

  1. Ist dies so einfach wie die Installation von Knoten und Express wie in den Anweisungen in den obigen Link in ein neues Verzeichnis und läuft von der neuen Pfad, ohne es in meiner Pfadvariablen zu speichern?
  2. Gibt es eine bessere und effektivere Möglichkeit, eine Produktions- und Entwicklungsumgebung zu erstellen, sodass mein Team die von mir erstellte App verwenden kann, ohne meine aktuelle Knoteninstanz zu beeinträchtigen und gleichzeitig eine 100% ige Verfügbarkeit der in der Produktion bereitgestellten App zu gewährleisten ?
  3. Sobald der zweite Server instanziiert ist, wie mache ich den Anruf von meinem Terminal, so dass es den ursprünglichen Knotenserver, den ich von meiner Pfadvariable ausgeführt habe, nicht ein/ausschalte?
  4. In Anbetracht, dass der Link oben ist, wie man Knoten installieren und von Grund auf neu und in Ubuntu (ich bin auf CentOS - Gnome), gibt es eine bessere "wie", die ich verwenden sollte, um den zweiten Knoten abzuschließen und Express installieren?
  5. Beim Erstellen des neuen Ports für den zweiten Knoten/Express-Server zu hören kann ich nur eine beliebige Zahl mit 4 Ziffern wählen oder gibt es eine bestimmte Anzahl von Nummern, die effektiver zu verwenden wäre? Ich verwende bereits Port: 3000 für meine erste Instanz in meiner Entwicklungsumgebung.

Vielen Dank für Ihre Hilfe.

+0

Ist der Produktionsumgebung die gleiche PC, auf dem Sie Ihren Code entwickeln? – DanielR

+0

Ja, es ist die gleiche Maschine. – lopezdp

+0

Und verwenden Sie irgendeine Form der Versionskontrolle wie Git? – DanielR

Antwort

2

Das Entwickeln und Servieren von demselben PC ist nicht vorzuziehen, aber wenn Sie müssen, können Sie dies tun.

Erstens muss keine zweite Kopie des Knotens auf Ihrem Computer installiert werden - Sie können mehrere Knotenprozesse auf demselben Computer ohne Probleme ausführen. Was ich schlage vor, Sie tun, ist dies: http://nvie.com/posts/a-successful-git-branching-model/#the-main-branches

  • Jedes Mal: ​​

    1. Wenn Sie nicht bereits haben, Ihr Projekt in einem Git-Repository begehen
    2. erstellen getrennte Zweige für die Entwicklung und Produktion, wie hier gezeigt Sie sind bereit, ein neues Stück Code zu veröffentlichen, schieben Sie es auf den Master-Zweig
    3. Verschieben Sie alle Konfigurationsparameter in eine Konfigurationsdatei, und erstellen Sie separate für Dev/Produktion, können Sie dies problemlos mit dem config Paket: https://www.npmjs.com/package/config
    4. Clone Ihre Repo in einen separaten Ordner, die immer auf dem Master (Produktion) Zweig
    5. Run Sie Server aus diesem Ordner bleiben würde - Ihr Team könnte dann eine Verbindung zu ihm
    6. Alle Entwicklung würde getan werden in den ursprünglichen Ordner. Sobald Sie fertig sind, drücken Sie zum Master und ziehen Sie den Produktionsordner.

    In Bezug auf die Port-Nummern, können Sie etwas verwenden, die über 1024 und unter 65535

  • +0

    Danke Daniel, arbeite an dieser Lösung den ganzen Tag und wenn es klappt, markiere es als Antwort. Ich schätze die Hilfe. – lopezdp

    +0

    Wenn Sie es auf Ihre Art und Weise tun, würde ich richtig denken, wenn ich meinen Knotenserver während der Entwicklung stoppe, wird es auch die Website in Produktion stoppen ??? – lopezdp

    +1

    Nein. Wenn Sie Ihren Server aus den verschiedenen Ordnern ausführen, werden zwei verschiedene und vollständig separate Knotenprozesse auf Ihrem Computer ausgeführt. Sie können also eine davon schließen, ohne dass sich dies auf die andere auswirkt. Der einfachste und beste Weg, dies zu testen, besteht darin, es einfach selbst zu versuchen und zu sehen, was passiert – DanielR

    Verwandte Themen