【问题标题】:Make Node Server Restart Proof制作节点服务器重启证明
【发布时间】:2016-09-13 01:59:07
【问题描述】:

我现在拥有的是一个节点服务器(forever.jsUbuntu 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

像这样-

为了检查我的玉米日志,我已经这样做了-

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

发现了这样的东西-

但我发现服务器没有按此运行-

forever list

并且拥有 - 没有永远运行的进程

但是如果我运行这个-

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

然后运行这个-

forever list

那我有这个-

我向你确认 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

几乎是我的问题。但我在重启期间为 Node.js 设置了它。

所以它不能解决我的问题。


有人可以帮忙吗?

【问题讨论】:

标签: node.js ubuntu cron crontab forever


【解决方案1】:

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

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

which forever

然后得到这个-

/usr/local/bin/forever

然后像这样把这条路径放在crontab中-

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

我们完成了:)

【讨论】:

  • 为什么不做服务?
猜你喜欢
  • 2017-09-11
  • 2013-05-09
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 2012-08-23
  • 2017-07-31
  • 2018-01-25
相关资源
最近更新 更多