2016-05-17 84 views
2

我現在有一個節點服務器(forever.jsUbuntu 14.04 LTS),每次啓動服務器時都需要啓動該節點服務器。使節點服務器重新啓動證明

所以,要做到這一點,我們需要的是這個命令(每次PC啓動或重啓) -

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

如果我運行的直接命令行命令,它工作正常。

但我希望它在服務器PC打開或重新啓動時自動啓動。

因此,我已(根據https://stackoverflow.com/a/13388741/2193439)做是─

運行crontab -e,並把這個代碼在控制檯 -

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

喜歡這個 -

enter image description here

而且檢查我的玉米日誌,我做了這個 -

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

並發現像這 -

enter image description here

但我發現服務器無法通過這 -

forever list 

運行且 - 沒有永遠的進程運行

enter image description here

但是,如果我跑這 -

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

然後運行這個 -

forever list 

然後我有這個 -

enter image description here

而且我確認你的crontab也在運行,因爲如果我改變這個 -

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

爲了這個 -

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

我有文件,每次電腦重新啓動。


我已經試過這 -

  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

而這 -

cronjob does not execute a script that works fine standalone

幾乎是我的問題。但是我已經在重新啓動和節點forever.js中設置了它。

所以它不能解決我的問題。


任何人都可以請幫忙嗎?

+0

可能重複的[cronjob不會執行一個獨立工作的腳本](http://stackoverflow.com/questions/36885909/cronjob-does-not-execute-a-script -hat-works-fine-standalone) – fedorqui

回答

1

我已經通過這個解決了這個way-

首先,這 -

which forever 

找到永遠的位置並獲得這 -

/usr/local/bin/forever 

然後把這個路徑crontab像這樣 -

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

而我們完成:)

+1

你爲什麼不提供服務? –