【问题标题】:Node.js deployment stackNode.js 部署堆栈
【发布时间】:2011-06-03 03:43:02
【问题描述】:

最好的 node.js 部署堆栈是什么?我将通过安装在用户主页中的 unix domain socket + mongodb + NPM 包在 fugue 上使用 Nginx 与 node.js 通信。有更好的吗?

顺便说一句,节点不应该有类似机架的东西,它可以处理服务器配置并开始侦听服务器软件强制的端口或套接字吗?现在我做疯狂的劫持 server.listen 函数来获取服务器并通过赋格启动它。您是否有一些做插入式节点部署的经验?

【问题讨论】:

    标签: deployment node.js


    【解决方案1】:

    我见过的大多数 Node.js 部署都直接使用 http.createServer 从 javascript 代码本身提供服务。换句话说,我见过的大多数 node.js 脚本都是 Web 服务器,而不仅仅是 Web 应用程序。为 Node.js 编写的几个框架都假设了这一点。

    这是 Node.js 的全部要点的一部分 - 使用非阻塞、单线程、事件驱动的服务器来提供您的内容。

    【讨论】:

      【解决方案2】:

      免责声明:不是节点专家

      我相信 Connect 被视为 Rack 模拟。

      请注意,据其创建者所说,Node 中的 SSL 支持在很大程度上已被破坏并且正在开发中,因此如果您的应用需要 SSL 支持——而哪个专业应用不需要?——您需要与另一个组件合作运行 Node,通常是 nginx AFAIK。

      我建议您查看邮件列表以了解该领域的发展以及有关常见配置的信息。

      【讨论】:

      • 昨天 Ryan Dahl 在推特上提到了节点 gist.github.com/764213 中的新 https api
      • “Connect 是 Node.js 的中间件层”与“Rack 提供了支持 Ruby 和 Ruby 框架的网络服务器之间的最小接口”。 Connect 不提供由服务器软件启动的约定。在关于 Connect on Ajaxian (ajaxian.com/archives/connect-great-middleware-for-node) 的文章中,他们写道:module.exports = new Connect.Server([...]);这可能是一个很好的国际海事组织会议。
      • 正确,API 就是这样。节点开发,包括 SSL/TLS 支持,仍处于早期阶段并且非常不稳定——代码库需要很长时间才能稳定(稳定版本为偶数,当前开发为版本 3)。
      【解决方案3】:

      有几个项目正在开发中,旨在解决这个问题:

      forevercluster (video intro for cluster) 都是很好的解决方案。我在 我尝试它们时 注意到两者之间的细微差异——这意味着它们可能不再有问题了。

      在选择部署时需要考虑两个主要事项:

      1. 守护节点应用程序
      2. 如果节点应用程序崩溃,则重新启动它

      您可能还需要考虑日志记录、命令行功能和安全性。您也可以编写自己的使用 nohup 的实现脚本。

      我还不知道如何处理的最后一件事:安全性。最后我检查了你不能真正以稳定的方式使用 SSL,除非你使用像 nginx 这样的东西,而且我也不知道节点中的安全漏洞。

      【讨论】:

        【解决方案4】:

        对于更多样板安装,您可以尝试平均堆栈。我在 express (http://expressjs.com) 和 mongo (http://mongodb.com) 方面有很好的经验。这是一个包含平均堆栈快速安装指南的页面:http://mean.io

        当然你可以简单地使用forever或者上面提到的upstart:http://jacobmumm.com/2011/08/29/node-as-a-service-in-ubuntu-11-04-with-upstart-monit-and-forever-js/

        【讨论】:

          猜你喜欢
          • 2018-02-16
          • 1970-01-01
          • 1970-01-01
          • 2018-10-01
          • 2019-11-24
          • 2014-11-10
          • 1970-01-01
          • 2016-07-23
          • 2018-07-06
          相关资源
          最近更新 更多