2024年3月26日发(作者:)

(完整word版)Nodejs学习文档整理

部分内容整理

——该文档用于基本功能、安装步骤和环境配置的学习以及交

一、

Node。js内容简介

1、当前的服务器程序有什么问题?

在 Java和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 的配套内

存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户.随着您的客户群

的增长,如果希望您的 Web 应用程序支持更多用户,那么,您必须添加更多服务器。当然,这会增加服

务器成本、流量成本和人工成本等成本。除这些成本上升外,还有一个潜在技术问题,即用户可能针对每

个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。鉴于上述所有原因,整个

Web 应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈是:服务器能够处理的并发连接的

最大数量。也就是说,用户请求到来后,Java等语言会为其分配一个线程来处理,此时这个线程就只能处

理该请求,并且需要一直维护该请求所需要的资源直到响应才会释放资源;如果并发量很大,就会造成后

面的请求处于阻塞状态.

2、NodeJS如何解决上述问题?

NodeJS采用了不同的方式来处理请求。它每接收到一个请求就会触发一个事件,并且将该事件加

入到事件队列中,紧接着又以同样的方式去处理下一个请求;这样能够保证每一个请求都被及时处理“处(

理”:指被加入到事件队列的过程),不会阻塞后面的请求。同时NodeJS引擎会调度事件队列中的任务,

执行这些任务,最后将结果响应给用户。

即更改连接到服务器的方式,每个连接会触发一个事件,NodeJS引擎会把该事件放入到事件队列中,

而不是为每个连接分配一个OS线程及其配套内存空间。(注意:维护事件队列本身也是需要成本的,而

(完整word版)Nodejs学习文档整理

且事件队列越长,得到响应的事件就越长,并发量上去还是会力不从心.)

3、使用了V8引擎

V8 引擎是 Google 用于其 Chrome 浏览器的底层 JavaScript 引擎,负责解释并执行JS代码,

并且内置了一个用 C++ 编写的超快解释器;最值得一提的是V8引擎可以被嵌入其他任何应用程序,

并不仅限于在一个浏览器中运行。NodeJS的作者也正是看中这一点,将其作为NodeJS的核心引擎。

二、

下载、安装、环境搭建

第一步、windows下的NodeJS下载(v0。6。0版本之后,支持windows native),只需要登陆Node。

js中文官网(http://nodejs。cn/),便可以看到:

第二步、安装。这里我们使用v4。2.4版本,安装比较简单直接点击install就可以安装了,安装过程基

本直接“NEXT”就可以了。(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你

的安装路径,例如“C:Program Filesnodejs")