Ausführen und verwalten von nodejs Anwendungen auf einzelne server
Ist es ein guter Weg, zu betreiben und zu verwalten mehrere nodejs Anwendungen auf einem einzigen server?
Habe ich haibu und nodesteraber Sie scheinen ein wenig Komplex für das, was ich zu tun versuche.
Ich auch der Suche war für immer und ich denke, dass die Arbeit mit der config-Datei und web-gui, aber ich bin nicht sicher, wie ich werde zu behandeln, vorbei an der Hafen-Informationen über ENV oder Argumente.
InformationsquelleAutor der Frage Ryan Schumacher | 2012-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutze ich Supervisord & Monitmehr details und Konfiguration Beispiel hier: Prozess Management bei der Bringr.
Außerdem können Sie angeben, environnement variable direkt aus der supervisord Konfigurationsdatei (siehe sub-Prozess-Umgebung). Aber ich persönlich bevorzuge zum hinzufügen dieser Variablen direkt in einer ~/.bashrc für jede Maschine.
Wenn die port-Nummer ist nicht zu ändern, für jede Anwendung (aber Wechsel zwischen Produktion & development environment). Ich werde empfehlen, geben Sie Sie in eine config.json (oder direkt im Paket.json). Und die config.json enthält eine andere port-Nummer für jede Anwendung je nach environnement:
Und innen
myapp.js
:Mit
process.env.NODE_ENV
erklärt in ~/.bashrc.InformationsquelleAutor der Antwort FGRibreau
Schrieb ich eine app nodegoddass ich für eine Handvoll Implementierungen von vielleicht 10 apps.
nodegod liest eine app-Liste von json. Es hat einen internen Zustand der Maschine für jede app, mit der die app-Lebenszyklus in einer sicheren Art und Weise, einschließlich neu gestartet und die web-Seite Funktionen start/Stopp/debug.
Die web-Oberfläche nutzt web sockets, so dass Sie können, verwalten von remote-Servern über ssh.
Als Sie bereitstellen über rsyncapps starten automatisch.
Weil nodegod überwacht die stdout von anderen apps, können Sie erfassen die app letzten Atemzug wie segfault und malloc-Fehler.
Verwende ich eine Gabel von http-proxy vor eine ganze Reihe von express-Instanzen, also eine beliebige Anzahl von apps können gemeinsam eine einzige pro dns-server-port für http-und web-sockets.
Schrieb ich eine haraldops - Modul zum Lesen der app Konfiguration von ausserhalb des source-trees. Mit diesem können Sie überwachen und erhalten Sie E-Mails Wann immer etwas mit einer app.
App-Konfigurationen, die ich halten in ein git-repo in der Datei system.
Es ist kein Hexenwerk, und es passt alles sehr schön zusammen. Nur Knoten und json: EINFACH wird mehr getan.
InformationsquelleAutor der Antwort Harald Rudell
Wenn Ihr server über upstart, es einfach verwenden. Ich habe kein Glück mit "für immer" und ähnlichen.
Wenn Sie fortfahren möchten, mit upstart, roco wäre schön, wie deployment-Lösung:
InformationsquelleAutor der Antwort Anatoliy
Wir sind ständig bemüht zu verbessern
forever
undhaibu
bei Nodejitsu. Scheint der Ansatz, den Sie suchen, hier ist eine.forever
Konfigurationsdatei für komplexe Optionen. Diese Funktion wurde auf unseren Auftragsbestand für eine Weile jetzthttps://github.com/nodejitsu/forever/issues/124
Schauen. Ich halte es für ziemlich hohe Priorität, nachdem die nächste Runde der Verbesserungen.
InformationsquelleAutor der Antwort indexzero
Diese Tage, die ich genommen habe, um mit dokku die OSS-Klon von heroku. Die Bereitstellung ist so einfach wie sicher, dass Ihr Paket.json enthält ein start-script. Zum Beispiel:
Beispiel-App
InformationsquelleAutor der Antwort Ryan Schumacher