Deployment Node.js部署堆栈

Deployment Node.js部署堆栈,deployment,node.js,Deployment,Node.js,什么是最佳的node.js部署堆栈?我将使用Nginx通过安装在用户主页中的unix域套接字+mongodb+NPM包在fugue上与node.js通信。有更好的吗 顺便问一下,节点不应该有像机架这样的东西,它将处理服务器配置并开始侦听服务器软件强制执行的端口或套接字吗?现在我做疯狂的hi jacking server.listen函数来获取服务器并通过fugue启动它。您是否有过进行drop-in节点部署的经验?我见过的大多数node.js部署都是直接从javascript代码本身使用http

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


顺便问一下,节点不应该有像机架这样的东西,它将处理服务器配置并开始侦听服务器软件强制执行的端口或套接字吗?现在我做疯狂的hi jacking server.listen函数来获取服务器并通过fugue启动它。您是否有过进行drop-in节点部署的经验?

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


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

免责声明:不是节点专家

我认为Connect被视为机架模拟

请注意,根据其创建者的说法,Node中的SSL支持在很大程度上已经中断,而且还在进行中,因此,如果您的应用程序需要SSL支持——而哪个专业应用程序不需要呢?——您将需要与另一个组件(通常是nginx AFAIK)合作运行Node


我建议您查看邮件列表,了解这方面的发展情况以及有关常见配置的信息。

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

和()都是非常好的解决方案。当我尝试这两种方法时,我注意到它们之间存在细微的差异,这意味着它们可能不再存在问题

在选择部署时需要考虑的2个主要事项是:

  • 后台监控节点应用程序
  • 如果节点应用程序崩溃,请重新启动它
  • 您可能还需要考虑日志记录、命令行特性和安全性。您也可以编写自己的使用nohup的实现脚本


    最后一件事,我还不知道如何处理:安全。上一次我检查过,除非使用nginx之类的东西,否则无法以稳定的方式真正使用SSL,而且我也不知道节点中的安全漏洞

    要获得更多样板安装,您可以尝试mean stack。我对express()和mongo()有很好的体验。以下是mean stack的快速安装指南:


    当然,您可以简单地使用上面提到的forever或upstart:

    昨天Ryan Dahl在node中发布了新的https api“Connect是node.js的中间件层”vs“Rack提供了支持Ruby和Ruby框架的Web服务器之间的最小接口”。Connect不提供服务器软件启动的约定。在关于Ajaxian()上连接的文章中,他们写道:module.exports=new Connect.Server([…]);这可能是很好的。正确的,API就是这样。节点开发(包括SSL/TLS支持)仍处于早期阶段,而且非常不稳定——代码库需要很长时间才能稳定(稳定版本为偶数,当前开发版本为版本3)。