更新在生产中运行的NodeJS的过程是什么?

时间:2016-10-13 14:48:08

标签: node.js deployment production

我正在开发一个将在生产中发布的webapp,然后定期更新,因为功能和错误修复工作正在进行中。

我像node app.js一样运行它,它加载配置,连接到数据库,启动Web服务器。

我想知道,当我有下一个版本时,更新应用程序的过程是什么? 我想,我必须杀死进程并在更新和部署后启动?这意味着会有一些停机时间吗?

我是否应该收集一周/月内最少使用的统计数据并在此期间应用更新?或者我应该在另一台机器上启动当前版本,将所有请求重定向到它并更新主要版本,然后切换回来?

1 个答案:

答案 0 :(得分:1)

我认为第二种方法更好。

第一个不会阻止停机,它只会确保它影响最少数量的用户,而第二个则不会产生停机时间。

此外,我认为您应该保留旧版本在其他计算机上运行一段时间,以防您发现必须恢复新版本由于任何原因。在这种情况下,您只需将流量重定向到旧节点,而不会出现任何停机。

此外,如果您正在设置生产环境,我建议您使用foreverpm2之类的操作,而不是仅使用{node}命令运行您的流程重启和其他一些高级功能。