在开发期间,当应用程序目录发生更改时,自动重新启动node.js会很棒。当应用程序处于生产阶段时,节点可以像正常情况一样启动。无论是否有意重启服务器,显然需要重新启动节点。
我听说过forever
和supervisor
。主管工作得很好,但我不能让它在启动时启动。另一方面,永远会忽略我目录中的任何更改。
是否有替代方案可以为我做这一切?
由于
答案 0 :(得分:5)
这是我最终做的事情:
下面的代码放在/etc/init/myApplication.conf
:
# Enter below
respawn
console none
start on runlevel [2345]
stop on runlevel [06]
script
sudo always /var/www/backend/app.js > /var/www/backend/nodelog.log
end script
始终检查节点目录中的更改,而此脚本确保始终在启动时启动。
答案 1 :(得分:3)
我最近开始使用Foreman来管理我的应用。您可以从Foreman导出到Upstart,这可以解决您在生产环境中处理重新启动等问题(尽管我自己还没有这样做。)
要自动更新文件,请查看always。 (然后总是通过Foreman从本地Procfile运行 - 这是我的设置。)
答案 2 :(得分:1)
我认为您不可能在启动时找到任何自动启动节点的内容,但根据您的操作系统,这并不是很困难。你能告诉我们你的操作系统是什么吗?