2016-05-17 4 views
2

Теперь у меня есть сервер узлов (с forever.js в Ubuntu 14.04 LTS), который необходим для запуска при каждом запуске сервера ПК.Сделать Node Server Restart Proof

Таким образом, чтобы сделать то, что нам нужно, эта команда (каждый раз, когда запуск ПК или перезагружается) -

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

Если я запускаю эту команду в командной строке прямой, она отлично работает.

Но я хочу, чтобы он автоматически запускался при включении или перезагрузке сервера ПК.

Так что я сделал (по https://stackoverflow.com/a/13388741/2193439)

это-

Выполнить crontab -e и поместить этот код в Console-

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

как this-

enter image description here

И проверить мой кукурузный журнал, я это сделал -

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

И нашли что-то вроде this-

enter image description here

Но я нахожу, что сервер не работает на this-

forever list 

и не имеющие - Нет навсегда процессы, выполняющиеся

enter image description here

Но если я бегу this-

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

А затем запустить this-

forever list 

Тогда я с this-

enter image description here

И Я подтверждаю вам, что кронтаб также работает, потому что если я изменю это-

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

Для this-

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

Я имею файл каждый раз ПК перезагружается.


Я уже пробовал 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

И this-

cronjob does not execute a script that works fine standalone

Есть почти моя проблема. Но я установил его во время перезагрузки и для Node forever.js.

Так что это не решает мою проблему.


Может ли кто-нибудь помочь?

+0

Возможный дубликат [cronjob не выполняет скрипт, который отлично работает автономно] (http://stackoverflow.com/questions/36885909/cronjob-does-not-execute-a-script -that-works-fine-standalone) – fedorqui

ответ

1

Я решил это, это ПУТЬ

Во-первых, найти навсегда местоположение по this-

which forever 

И получить this-

/usr/local/bin/forever 

А затем поставить этот путь в crontab например,

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

И все готово :)

+1

Почему вы не сделали услугу? –