Ich habe meine erste Node.js-App auf der kostenlosen Stufe von OpenShift installiert, und das funktioniert großartig.
Wird OpenShift meine Node-App automatisch neu starten, wenn sie abstürzt, oder muss ich Forever.js einrichten? Ich habe versucht, es einzurichten, und es würde nicht funktionieren. Nach dem Ausführen von node_modules/forever/bin/forever start app.js
(Arbeitsverzeichnis war app-root/repo
, mit lokaler Kopie von forever
) bekam ich diese Ausgabe:
Also, verwaltet OpenShift die Gesundheit meiner App oder muss Forever funktionieren? Wenn ja, irgendeine Idee bezüglich des Fehlers, den ich habe?
Ja, OpenShift startet die Node-App automatisch neu, wenn sie abstürzt. OpenShift verwendet nicht forever.js, aber es verwendet node-supervisor . Sie können es testen, indem Sie etwas verlangen, das nicht existiert. Reparieren Sie es aber schnell, da das Log schnell wachsen kann und die App neu startet. Hier ist das Log in nodejs.log auf OpenShift, das zeigt, dass es node-supervisor läuft:
%Vor% Gegenwärtig beinhaltet das Standardverhalten von OpenShift die Verwendung von supervisor
zum Starten, Überwachen und Neustarten Ihrer nodejs-Anwendungen.
Hier ist eine kurze Übersicht über die verschiedenen Init-Optionen für nodejs:
package.json
-Datei mit einem main
-Eintrag (, der den Namen Ihres Servers enthält) enthält Skript ), dann initialisiert OpenShift Ihre App mit supervisor
, um das Skript zu starten. force_npm_deploy
-Marker-Datei enthält (eine leere Datei in .openshift/markers/use_npm
) - dann wird OpenShift nur npm start
ausführen. Dies führt dazu, was auch immer in der package.json
-Einheit Ihrer scripts.start
-Datei definiert ist. server.js
mit supervisor
(als Fallback-Option) auszuführen. Einige zusätzliche Hinweise sind hier verfügbar: Ссылка
Tags und Links javascript node.js openshift forever