Node.js 如何使用npm服务系统自动启动服务

Node.js 如何使用npm服务系统自动启动服务,node.js,npm,Node.js,Npm,我正在使用NPM包服务systemd来监视NodeJS应用程序,并在它崩溃或冻结时重新启动它 当我运行'sudo node systemd add service template.json'时,我得到: WARNING: wrap.bin not found parsing ... writing script start/stop files, logrotate.d ... > chmod a+x /usr/local/bin/systemd-my-node-service* wr

我正在使用NPM包服务systemd来监视NodeJS应用程序,并在它崩溃或冻结时重新启动它

当我运行'sudo node systemd add service template.json'时,我得到:

WARNING: wrap.bin not found
parsing ...
writing script start/stop files, logrotate.d ...
> chmod a+x /usr/local/bin/systemd-my-node-service*
writing systemd file ...
/etc/systemd/system/my-node-service.service
installing ...
> systemctl enable my-node-service.service;systemctl daemon-reload
done
当我尝试运行“sudo服务启动”时,服务失败。检查“journalctl”显示:

Starting service...
/usr/local/bin/systemd--start: line 2: /usr/bin/forever: No such file or directory
PID file /var/run/.pid not readable (yet?) after start.
Failed to start service
Unit .service entered failed state.
.service failed.
我已经找到了一些关于符号链接之类的建议,但这些建议似乎都不能解决这个问题。知道这是怎么回事吗

在带有Ubuntu 15.04和NodeJS v0.10.40的Odroid XU4上运行此功能


谢谢,

这实际上是我使用的NodeJS版本的一个问题。我在RPi2上启动了这个项目,它与NodeJS v4+有问题。XU4不需要使用v0.10.x,因此我卸载了旧版本并更新为最新版本。现在一切都好了。

我发布了一个新版本,它不需要永远使用,并且有更好的API,这些错误将被删除

作为使用硬配置systemd for applications的替代方法,尝试使用具有重启策略的Docker容器:Docker容器对我来说是新的。与forever/systemd节点包相比,这有什么好处?它是否检查服务是否冻结?我这样问是因为该服务使用USB 2.0 BLE加密狗,有时会关闭(我认为这是XU4 USB集线器的直流电流问题,但我需要使其防弹,因此我仍在寻找解决方案),因此需要重新启动该服务,以允许蓝牙守护进程再次“启动”。我不相信我能用forever/systemd始终抓住这一点。容器在应用程序级别上很有用。您也可以使用设备:但它很难配置,而且性能较差。如果服务被冻结,我不确定是否会自动重启。