使节点服务器重新启动证明

时间:2016-05-17 05:51:47

标签: node.js ubuntu cron crontab forever

我现在拥有的是一个节点服务器(forever.js中有Ubuntu 14.04 LTS),这是每次服务器PC启动时所需的。

所以,要做到这一点我们需要的是这个命令(每次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

每次PC重启时我都有这个文件。

我已经尝试过这个 -

  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
  5. 而这 -

    cronjob does not execute a script that works fine standalone

    几乎是我的问题。但是我在重新启动期间设置了它并且为了forever ever.js。

    所以它无法解决我的问题。

    有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我已经通过这种方式解决了这个问题 -

首先,通过这个找到永远的位置 -

which forever

得到这个 -

/usr/local/bin/forever

然后将此路径放在crontab中,就像这样 -

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

我们完成了:)