Können wir also Forever Plus Startup -Skripte verwenden, um die oben genannten Probleme zu lösen? Die Antwort lautet natürlich ja, aber es ist ein bisschen problematisch, und dem Beamten fehlen für immer detaillierte Konfigurationsdokumente. Ich habe auch einige Umwege beim Konfigurieren gemacht, also werde ich unten auf Details eingehen.
Hinweis: Die experimentelle Umgebung dieses Artikels ist Ubuntu Server 12.04 LTS X86_64, und die Konfiguration auf CentOS ist einfacher.
Zuerst habe ich darüber nachgedacht, einen für /etc/rc.local zu fügen, aber ich fand, dass Ubuntu (das gleiche wie andere Systeme) nicht schlecht für mich ist. Der Hauptschutz ist, dass MongoDB mit dieser Methode ausgeführt werden kann, aber für immer nicht. In der Verzweiflung sollte ich es aus der Perspektive von /etc/init.d.
Die Prämisse ist es, für immer zuerst zu machen. Die Methode ist sehr einfach. Führen Sie einfach den folgenden Befehl aus:
NPM für immer installieren -g
Verwenden Sie nach Abschluss der Installation ein einfaches Knotenprogramm, um es zu testen:
für immer starten test.jsforever stop test.jsforever restart test.js
Solange der Fehler nicht aufgefordert wird, bedeutet dies, dass für immer nutzbar ist, dh die grundlegenden Bedingungen für die Verwendung von Forever zum Öffnen eines Knotenprojekts im Hintergrund sind bereits erfüllt, und der Rest besteht darin, ein Start -Skript zu schreiben.
Der grundlegende Inhalt des Skripts ist wie folgt, dank des ursprünglichen Autors für seine harte Arbeit:
#!/Bin/Bash ### begin init info# bietet: xiyoulib# benötigte start: $ alle# benötigten stop: $ alle# default-start: 2 3 4 5# Standard-Stop: 0 1 6# Kurzerschreibung: Start Dämon bei Boot Time# Beschreibung aktivieren von Dämon. Node.jsDEAMON=/node.js/XiyouLibNodeExpress/bin/www #Here you need to fill in the startup script file of your own Node project LOG=/node.js/log/log #Optional, log file directory PID=/node.js/pid #Required content, used to record the process number of forever export PATH=$PATH:/usr/local/bin #Specify the Node Ausführbares Programm Installationsverzeichnis Hier ist meine IS/usr/local/binexport node_path = $ node_path:/usr/local/lib/node_modules #here Pfad der Knotenklassenbibliothek #Der Inhalt unten muss nicht modifiziert werden. Stop) $ für immer Stopp --Pidfile $ pid $ Deamon ;; Stop) $ für immer Stop -Pidfile $ pid ;; restartall) $ für immer restartall -pidfile $ pid ;; neu laden | neu starten) $ für immer starten -l $ log --Pidfile $ pid -a $ deamon ;; Liste) $ Forever List ;; *) echo "use
Hier ist eine Erinnerung: Es ist am besten, ein Verzeichnis im Root -Verzeichnis für das Knotenprojekt wie /Node.js zu erstellen und dann die Berechtigung auf 754 festzulegen, was die durch einige Erlaubnisprobleme verursachten Probleme vermeiden kann!
Da ich das Ubuntu -Serversystem verwende, wird auch der MongoDB -Startdienst konfiguriert, und die folgenden Anweisungen werden zu seinem init.d -Skript hinzugefügt:
# Erforderlicher Start: $ All# Erforderliche Stop: $ All
Wenn ich es also in Zukunft selbst hinzufüge, führt das System zu einem Fehler. Im Startskript des Node -Projekts habe ich die vorherige Zeichenfolge von Erklärungskommentare hinzugefügt, damit das Ubuntu -Serversystem es einrichten kann. Wenn es sich um CentOs handelt, sollten ähnliche Probleme nicht auftreten. Achten Sie darauf besondere Aufmerksamkeit!
Das heißt, die folgenden Erklärungsinformationen:
### begin init info# bietet: xiyoulib# benötigte start: $ alle# benötigten stop: $ alle# default-start: 2 3 4 5# Standard-Stop: 0 1 6# Kurzerschreibung: Start Dämon
Nachdem das Skript bearbeitet wurde, verwenden Sie die CHKConfig-List-Anweisung, um zu überprüfen, ob der von Ihnen hinzugefügte Dienst effektiv ist, dh alle 3 und 5 müssen eingeschaltet sein, um sich selbst zu starten.
Wenn 3 und 5 nicht eingestellt sind, führen Sie bitte CHKConfig -Level 35 [Ihren Servicenamen] auf. Ubuntu Server kann einige Warnungen melden, aber solange der 3 und 5 des erforderlichen Dienstes geändert werden können, können andere Fehler ignoriert werden (ich bin der Meinung, dass dies das Geschäft des Systems ist).
Nach Abschluss des Setups kann das Knotenprojekt unter Linux gestartet werden. Sie können nun versuchen, zu sehen, ob es gestartet werden kann. Nach dem Start können Sie direkt auf die von Ihnen festgelegte Portnummer und das von Ihnen festgelegte virtuelle Verzeichnis zugreifen. Wenn Sie es wollen, wird die Aufgabe erledigt!
Wenn es jedoch falsch ist, überprüfen Sie einige Skripte sorgfältig und stellen Sie relevante Änderungen basierend auf dem Fehler vor. Immerhin habe ich es auch versucht!