部署node.js服务器应用程序(最佳实践)

时间:2015-08-17 10:00:53

标签: node.js deployment

我想知道我部署node.js应用程序的方式是好还是可以改进,以及如何,以及是否有一些最佳实践。

考虑它是一个大型应用程序,可能包含未处理的exeption会导致节点服务器崩溃(即使使用单元测试,我们也不确定它是100%崩溃安全)我永远使用它来使服务器始终运行(我也可以使用pm2,但pourpose它是相同的)。所以我构建了一个systemd脚本,将其用作“service nodeapp start | stop | status”等服务。

我认为最好的解决方案是运行节点“raw”而没有永远或pm2,仍然使用systemd,但我认为崩溃的风险太高了。

它位于nginx代理后面的服务器,我还添加了logrotate脚本以进行日志维护。

非常感谢任何建议和意见

由于

1 个答案:

答案 0 :(得分:0)

互联网上有很多清单,这里有stackoverflow。 我的个人清单是:

  • 将node_env设置为暂存
  • 运行所有单元测试
  • 在staging env上部署
  • 运行服务器上的所有脚本
  • 如果测试通过更改prod上的node_env并部署

如果你想跳过一些测试,并确保dev和prod上的环境是相同的,那么有一个相当新的东西叫做docker,但在第一次ot会增加一些复杂性。 希望当你用码头工人完成整个过程时,它不应该太过于干扰。

聚苯乙烯。永远使用,如果您使用泊坞窗,您可以重新启动容器,但它不是那么好