【问题标题】:Deploy node.js server application (best practice)部署 node.js 服务器应用程序(最佳实践)
【发布时间】:2017-10-21 01:52:20
【问题描述】:

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

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

我认为最好的解决方案是在没有永久或 pm2 的情况下运行节点“原始”,仍然使用 systemd,但我认为崩溃的风险太高了。

服务器在 nginx 代理后面,我还添加了 logrotate 脚本用于日志维护。

任何意见和建议将不胜感激

谢谢

【问题讨论】:

    标签: node.js deployment


    【解决方案1】:

    互联网上和 stackoverflow 上都有很多清单。 我的个人清单是:

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

    如果你想跳过一些测试并确保 dev 和 prod 上的环境是相同的,有一个相当新的东西叫做 docker,但在第一次 ot 会增加一些复杂性。 希望当你都用 docker 安顿下来后,它不应该有太多的干扰。

    附言。永远使用,如果你使用 docker,你可以重新启动容器,但它不是那么好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 2011-05-19
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2012-07-02
      • 2010-12-11
      相关资源
      最近更新 更多