什么是最好的node.js部署堆栈?我将通过安装在用户主目录中的unix域套接字+ mongodb + NPM软件包,使用Nginx与node.js通过fugue进行通信。还有更好的东西吗?
顺便说一句,节点是否应该具有类似于机架的东西,它可以处理服务器配置并开始侦听服务器软件强制的端口或套接字?现在我做了疯狂的hi-jacking server.listen函数来获取服务器并由fugue启动它。您是否具有进行插入式节点部署的经验?
答案 0 :(得分:2)
正在开发的一些项目旨在解决这个问题:
forever和cluster(video intro for cluster)都是非常好的解决方案。我注意到当我尝试时出现小的差异 - 这意味着他们可能不再有问题了。
选择部署时需要考虑两件事:
您可能还需要考虑日志记录,命令行功能和安全性。您还可以编写自己的使用nohup的实现脚本。
我还不知道如何处理的最后一件事:安全性。最后我检查过你不能以稳定的方式使用SSL,除非你使用像nginx这样的东西,而且我也不知道节点中的安全漏洞。
答案 1 :(得分:1)
免责声明:不是节点专家
我认为Connect被认为是Rack类似物。
请注意,根据其创建者的说法,Node中的SSL支持很大程度上已经破坏并且正在进行中,因此如果您的应用需要SSL支持 - 以及专业应用程序不支持? - 您需要与其他组件合作运行Node,通常是nginx AFAIK。
我建议您查看邮件列表,了解该领域的发展情况以及有关常见配置的信息。
答案 2 :(得分:0)
我见过的大多数Node.js部署都是使用http.createServer
从javascript代码本身直接提供的。换句话说,我见过的大多数node.js脚本都是Web服务器而不仅仅是Web应用程序。为Node.js编写的几个框架假定了这一点。
这是Node.js整体观点的一部分 - 使用非阻塞,单线程,事件驱动的服务器为您的内容提供服务。
答案 3 :(得分:0)
对于更多的样板安装,您可以尝试平均堆栈。我有快速(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/