有什么办法有两个这样的包一起运行?
所以基本上我想有来自两个世界最好的。 自动运行的服务器(和重新启动时有错误)时,有.js文件发生变化,也自动更新。
有什么办法有两个这样的包一起运行?
所以基本上我想有来自两个世界最好的。 自动运行的服务器(和重新启动时有错误)时,有.js文件发生变化,也自动更新。
您应该运行这样的事情
forever start -c nodemon app.coffee
toxA的是在正确的轨道上,这个问题cfogelberg提出是有效的,但要避免这个问题,你可以做到以下几点:
forever -c "nodemon --exitcrash" app.js
这确保nodemon
实际退出(而不是给你的“应用程序崩溃”的消息),然后forever
重新捡起来。
在forever --help
此-c
指定一个命令,否则运行它的默认值的节点。 如果没有那是提到在评论这个答案错误-c结果。
有关于它的一个条目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 -但那是因为我不希望它重新启动我没有明确的指示。
我还没有发现走到一起运行这两个包的方式。 我试图做@的toxA的技术,但是当我的Node.js应用程序抛出异常nodemon不会自动重新启动它,而不是输出错误消息永远的记录:
nodemon] app crashed - waiting for file changes before starting...
但是,永远有一个-w
选项,下面的命令是有效地一样的,如果我nodemon永远在一起运行:
forever start -w my-app.js
不利的一面forever -w
与nodemon
: forever
没有一个--delay的选择,所以我的服务器获取用于改变每个文件重新启动一次。
我更喜欢的是什么的toxA和朱拜尔建议组合。
forever start -c nodemon app.coffee --exitcrash
如果你需要传递的参数:
forever start -c "nodemon --harmony" app.js --exitcrash
我使用的是永远的服务 。 。 。
这是对我工作。 它执行以下操作:每次在应用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