Tag: webserver

不同核心上的多个node.js实例

我想设置4个不同的node.js实例,每个实例都在自己的核心上。 node.js是否将新实例堆叠在同一个内核上,还是将它们设置在新内核上? 这些实例是不相关的,并单独接收请求。 我希望CPU负载均匀分布。 我一直无法find这个问题的明确答案。

是否有可能在IIS7中安装node.js?

有没有办法在IIS7中安装node.js? 我对node.js的经验很less,但是编写服务器端JavaScript的想法让我感到不安。

Angular2:并发不被识别为内部或外部命令

当使用npm start运行server2 for angular2时出现错误,说明并发不能被识别为内部或外部命令,为什么会发生这种types的错误 这里是package.json: { "name": "contactlistapp", "version": "1.0.0", "description": "The app", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "tsc": "./node_modules/.bin/tsc", "tsc:w": "./node_modules/.bin/tsc -w", "serve": "./node_modules/.bin/live-server –host=localhost –port=3000 .", "start": "concurrent \"npm run tsc:w\" \"npm run serve\" " }, "author": "Sarah", "license": "ISC", "dependencies": { "express": "^4.13.3", "angular2": "2.0.0-beta.0", "systemjs": […]

使用Node.JS作为REST服务器和Web服务器

我正在用Angular.js和Node.js写一个应用程序。 有一个用HTML和Angular.js编写的客户端应用程序 ,需要像Apache这样的Web服务器才能联机。 在Node.js中还有一个服务器端REST webservice ,它build立在restify (但我不在乎使用哪个REST API,我可以使用另一个REST API)。 我可以使用REST Web服务的Node.js服务器和服务客户​​端Web应用的另一个Node.js服务器来完成整个工作。 但我想只有一个Node.js服务器运行 ,在一个URL /端口(以防止跨域AJAX请求)。 我怎么能这样做?

Node.js是否应该用于密集处理?

比方说,我正在构build一个三层的网站,在后端使用Mongo DB,而在浏览器中使用一些非常轻量级的javascript(比如说,只是对表单进行validation,也许是一些引发AJAX请求的奇特控件)。 我需要为“中间”层select一种技术(我们可以将其分成多个子层,但是这个细节不是这里的重点,只是整个技术的select),在那里我要closures一些原始数据DB,并将其渲染为一些我推送到浏览器的HTML。 一个相当典型的瘦客户端Web架构。 我的安全select是在Java中实现这个中间层,使用像Jongo这样的库来与Mongo DB交谈,也许Jackson可以编组/解组JSON,以便在他们发出AJAX请求时与我的控件交谈。 还有一些用于在服务器上呈现我的HTML的模板框架。 不过,我真的很想把所有的东西都抛出窗口,并且在这个中间层使用Node.js,原因如下: 我喜欢javascript(好的部分),让我们说这个应用程序的业务逻辑比Java更具有performance力。 它的JavaScript到处都是。 在堆栈上的任何位置工作时,无需在语言之间进行切换,实际上也可以使用OO和function范例。 层之间没有翻译pipe道,JSON在本地无处不在。 我可以在客户端和服务器上重新使用validation逻辑。 如果将来我决定在浏览器中执行HTML渲染客户端,那么我可以重用现有的模板,像Backbone一样,只需要很less的重构/重新testing工作。 如果你现在和Node一样,上面的所有内容都显得很明显。 所以我应该select节点吧? 但是…这是我所知道的:我们都知道Node是基于单线程的asynchronousI / O Web服务器模型的。 这对于我的数据服务请求方面的可伸缩性和性能来说非常好,但是我的业务逻辑呢? 那么我的模板渲染呢? 这些东西是不是会对单线程的所有请求造成巨大的瓶颈? 想到两个明显的解决scheme,但他们都不对: 将“阻塞”业务逻辑保留在那里,只需使用一组Node实例和一个负载平衡器,即可真正并行地处理请求。 好,那么为什么Node不是multithreading呢? 还是总是这样做的想法,保持简单愚蠢,并避免在基本情况下的multithreading复杂性的可能性,使程序员做多余的安装工作,如果多核心处理能力的期望? 保持单个节点实例,并通过调用某个其他multithreading应用程序服务器上运行的业务逻辑的某个java实现来保持它不阻塞。 好的,这个选项完全无效了我列出的使用Node的每一个亲(事实上它比仅仅使用Java增加了复杂性),除了CRUD请求到数据库的性能和可伸缩性可能的增益外。 这导致我终于到了我的问题的重点 – 我错过了Node的一个巨大的重要难题,我刚刚得到了我的事实完全错误,或者是Node不适合在服务器上处理业务逻辑? 换句话说,Node对于坐在一个数据库上是否有用,并且以比其他一些阻塞I / O的实现更高性能和可扩展的方式服务于许多CRUD请求? 而且你必须在下面的某个层次,甚至是客户端做所有的业务逻辑,以保持合理的性能和可扩展性。 考虑到所有关于Node的嗡嗡声,我宁愿希望它带来更多的东西。 我很乐意相信!

编译多个打字稿文件

我的nodejs Typescript服务器的复杂性已经增长,现在依赖于另一个.ts文件中定义的几个类。 这造成了一个奇怪的编译问题: tsc server.ts编译一切正常。 但是, node server.js在第一行崩溃,从其他.ts文件实例化一个类 tsc –out server.js server.ts导致错误消息:“模块发出与发出的脚本冲突” tsc –out serv.js server.ts似乎工作,但实际上编译除了server.ts的一切。 来自其他文件的代码在那里, node serv.js只是返回没有任何输出 我不是唯一一个这个错误, https: //typescript.codeplex.com/workitem/294不幸的是codeplex的解决scheme不适合我。 我如何正确使用tsc ?

大文件的事件循环?

如果我没有弄错,我记得asynchronousI / O(Node.js,Nginx)的“事件循环”模型不适合为大文件服务。 是这样的,如果是这样的话,有没有方法呢? 我正在考虑在Node中编写一个实时文件浏览器/文件服务器,但文件可能在100MB到3GB之间。 我会假设事件循环会阻塞,直到文件被完全服务?

我应该学习哪种新的语言来实现高性能,高并发性,Web开发?

我对服务器上只有PHP非常有信心。 但是,我有一些额外的时间,我想学习一种新的服务器语言。 我知道如何比较慢的PHP比较新的平衡和线程服务器技术。 我一直在调查: NodeJS:用JavaScript编写,编译并通过Google的V8版本运行。 RingoJS:用JavaScript编写,运行在Mozilla的Rhino基于Java的引擎下。 erultin:Erlang,不知道多less,但似乎超快: http : //www.ostinelli.net/a-comparison-between-misultin-mochiweb-cowboy-nodejs-and-tornadoweb/ mochiweb:Erlang也是,而且通常被认为是快速的。 龙卷风:基于Python,似乎是最慢的。 我想知道我应该学什么语言。 如果我使用RingoJS / NodeJS,那么我实际上不需要学习任何东西。 但是,我对Erlang或Python一无所知。 我应该考虑学习一个,如果我的目标是能够build立高端networking服务器(软件/网站)? 一般来说,哪一种语言和图书馆在推动高性能网站方面拥有最大的发展前景? 当然,我可以用C ++来完成所有的工作,但是这似乎很费时,而且我认为Python和Erlang更容易。 带线程的ASP.NET似乎很痛苦,所以,我想我会离开它。 那么Twisted(Python)呢? 或者Eventmachine(ruby)?

在Mac上运行nodejs服务器时出错,找不到合适的图像

unknown406c8f2d5ecb:proves airrider3$ node tronServer.js [Error: dlopen(/Users/airrider3/Documents/proves/node_modules/now/node_modules/node-proxy/build/Release/nodeproxy.node, 1): no suitable image found. Did find: /Users/airrider3/Documents/proves/node_modules/now/node_modules/node-proxy/build/Release/nodeproxy.node: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00] Error: dlopen(/Users/airrider3/Documents/proves/node_modules/now/node_modules/node-proxy/build/Release/nodeproxy.node, 1): no suitable image found. Did find: /Users/airrider3/Documents/proves/node_modules/now/node_modules/node-proxy/build/Release/nodeproxy.node: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 at Object.Module._extensions..node (module.js:485:11) […]

Node.JS内置集群还是PM2集群?

哪个更好? 我已经启动了与工作者的Nodejs集群模式,但是现在我发现了同样的事情的PM2。 我使用keymetrics从我的web服务器查看统计信息,我注意到,当我启动我的NodeJS节点(具有内置群集)而没有使用PM2群集function时,Keymetrics报告使用了20 / 30MB Ram。 如果我停用集群(在节点内部)并开启PM2集群,则keymetrics报告约300MB的Ram使用情况。 现在,哪种方法更好,为什么使用内置的集群keymetrics报告只有30MB的内存使用量?