永远+ Nodemon一起运行(Forever + Nodemon running together

2019-09-01 23:12发布

有什么办法有两个这样的包一起运行?

所以基本上我想有来自两个世界最好的。 自动运行的服务器(和重新启动时有错误)时,有.js文件发生变化,也自动更新。

Answer 1:

您应该运行这样的事情

forever start -c nodemon app.coffee


Answer 2:

toxA的是在正确的轨道上,这个问题cfogelberg提出是有效的,但要避免这个问题,你可以做到以下几点:

forever -c "nodemon --exitcrash" app.js

这确保nodemon实际退出(而不是给你的“应用程序崩溃”的消息),然后forever重新捡起来。

forever --help-c指定一个命令,否则运行它的默认值的节点。 如果没有那是提到在评论这个答案错误-c结果。



Answer 3:

有关于它的一个条目nodemon常见问题 :

如果您使用nodemon与永 (也许是在生产环境中),你可以在这两个结合在一起。 如果脚本崩溃这样,永远重新启动脚本,如果有文件的变化,nodemon重新启动你的脚本。 有关更多详细信息,请参阅问题30 。

要做到这一点,你需要添加下面的调用forever

  • 使用永远是-c nodemon选项来告诉永远运行nodemon而不是node
  • 包括nodemon --exitcrash标志,以确保nodemon退出时,如果脚本崩溃(或意外退出)。
  • 告诉永远用SIGTERM替代SIGKILL请求nodemon时停止。 这确保了nodemon可以干净地停止观看节点处理。
  • 可以选择添加的--uid参数,增加对您的过程唯一的名称。 在该示例中,UID被设置为foo

bash forever start --uid foo --killSignal=SIGTERM -c nodemon --exitcrash server.js

为了验证这一点,你可以杀死server.js进程和永远将重新启动。 如果你touch server.js nodemon将重新启动。

要停止永远nodemon监控的过程中,只需调用下面,利用uid我们上面(分配foo ):

bash forever stop foo

这将同时停止nodemon和节点过程有人监督。

请注意, 我不建议在生产环境中使用nodemon -但那是因为我不希望它重新启动我没有明确的指示。



Answer 4:

我还没有发现走到一起运行这两个包的方式。 我试图做@的toxA的技术,但是当我的Node.js应用程序抛出异常nodemon不会自动重新启动它,而不是输出错误消息永远的记录:

nodemon] app crashed - waiting for file changes before starting...

但是,永远有一个-w选项,下面的命令是有效地一样的,如果我nodemon永远在一起运行:

forever start -w my-app.js

不利的一面forever -wnodemonforever没有一个--delay的选择,所以我的服务器获取用于改变每个文件重新启动一次。



Answer 5:

我更喜欢的是什么的toxA和朱拜尔建议组合。

forever start -c nodemon app.coffee --exitcrash


Answer 6:

如果你需要传递的参数:

forever start -c "nodemon --harmony" app.js --exitcrash


Answer 7:

我使用的是永远的服务 。 。 。

这是对我工作。 它执行以下操作:每次在应用DIST /资产文件夹中的JSON或RAML文件被修改,等待10秒,然后重新启动节点的应用程序(server.js脚本):

$ forever-service install raml --script server.js -f " -c nodemon" -o " --delay 10 --watch dist/assets -e json,raml --exitcrash" -e "PATH=/usr/local/bin:$PATH"

然后我可以运行:

$ service raml start|stop|restart|status

我也可以对使用chkconfig公用服务器重新启动该服务启动:

$ chkconfig --add raml
$ chkconfig raml on


文章来源: Forever + Nodemon running together