2016-05-17 14 views
2

Was ich jetzt habe, ist ein Knoten-Server (mit forever.js in Ubuntu 14.04 LTS), die benötigt wird, um jedes Mal zu starten Server PC startet.Machen Node Server neu starten Proof

Also, das zu tun, was wir brauchen, ist dieser Befehl (jedes Mal, PC Start oder Neustart) -

forever start /var/www/websocket/websocket.js 

Wenn ich diesen Befehl in direkter Befehlszeile ausführen, funktioniert es gut.

Aber ich möchte es automatisch starten, wenn Server-PC einschalten oder neu starten.

Also, was ich getan habe (nach https://stackoverflow.com/a/13388741/2193439) ist-

Run crontab -e und setzen diesen Code in der Konsolen-

@reboot forever start /var/www/websocket/websocket.js 

wie this-

enter image description here

Und um mein Maisprotokoll zu überprüfen, habe ich das getan

sudo grep --color -i cron /var/log/syslog 

Und fand so etwas wie this-

enter image description here

Aber ich finde der Server läuft nicht durch this-

forever list 

und mit - Keine ewig laufende Prozesse

enter image description here

Aber wenn ich this-

forever start /var/www/websocket/websocket.js 

Und dann laufen this-

forever list 

Dann bin ich mit this-

enter image description here

Und ich bestätigen Sie, dass crontab laufen läuft auch, denn wenn ich das ändere -

in this-

@reboot cd /var/www/websocket/ && touch cron_try.txt 

ich die Datei neu gestartet wird jedes Mal PC habe.


Ich habe bereits versucht, this-

  1. Automatically start forever (node) on system restart
  2. Automatically restart node server
  3. http://www.hacksparrow.com/make-forever-reboot-proof-with-cron.html
  4. https://github.com/foreverjs/forever/issues/58

Und this-

cronjob does not execute a script that works fine standalone

ist fast mein Problem. Aber ich hatte es beim Neustart und für Node forever.js eingestellt.

So löst es nicht mein Problem.


Kann mir bitte jemand helfen?

+0

Mögliche Duplikate von [Cronjob führt kein Skript aus, das eigenständig funktioniert] (http://stackoverflow.com/questions/36885909/cronjob-does-not-execute-a-script -das-funktioniert-gut-standalone) – fedorqui

Antwort

1

Ich habe löste dies durch das Weg-

Zuerst finden die immer Standort von this-

which forever 

Und this-

/usr/local/bin/forever 

und dann diesen Weg setzen in crontab wie diese-

@reboot /usr/local/bin/forever start /var/www/websocket/websocket.js 

Und wir sind fertig :)

+1

warum hast du keinen service gemacht? –