node入门第一天
Node是一个服务器端JavaScript解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码
Node旨在解决什么问题?
Node公开宣称的目标是“旨在提供一种简单的构建可伸缩网络程序的方法”。当前的服务器程序有什么问题?我们来做个数学题。在Java™和PHP这类语言中,每个连接都会生成一个新线程,每个新线程可能需要2MB的配套内存。在一个拥有8GBRAM的系统上,理论上最大的并发连接数量是4,000个用户。随着您的客户群的增长,如果希望您的Web应用程序支持更多用户,那么,您必须添加更多服务器。当然,这会增加服务器成本、流量成本和人工成本等成本。除这些成本上升外,还有一个潜在技术问题,即用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。鉴于上述所有原因,整个Web应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈是:服务器能够处理的并发连接的最大数量。
Node解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在Node引擎的进程中运行的事件,而不是为每个连接生成一个新的OS线程(并为其分配一些配套内存)。Node声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞I/O调用。Node还宣称,运行它的服务器能支持数万个并发连接。
现在您有了一个能处理数万个并发连接的程序,那么您能通过Node实际构建什么呢?如果您有一个Web应用程序需要处理这么多连接,那将是一件很“恐怖”的事!那是一种“如果您有这个问题,那么它根本不是问题”的问题。在回答上面的问题之前,我们先看看Node的工作原理以及它的设计运行方式。
Node如何工作?
Node本身运行V8JavaScript。等等,服务器上的JavaScript?没错,您没有看错。对于只在客户机上使用JavaScript的程序员而言,服务器端JavaScript可能是一个新概念,但这个概念本身并非遥不可及,因此为何不能在服务器上使用客户机上使用的编程语言?
概念介绍完了,接下来我们开始动手实践,如何使用node。
首先从官网下载http://nodejs.org/下载nodejs的最新版,我这里下载的是v0.10.28win版,可根据自己的开发环境下载不同的平台版本。
window系统建议下载安装版,安装完后的环境变量已经帮你添加好了,而且npm包管理工具也安装好了,重启机器后直接在命令提示符在输入Nodeconsole.log('helloworld');
如果出现helloworld的字符表示安装成功。
接下来我们在下载一个文本编辑器sublime,推荐这个界面友好而且还有提示。
使用sublime编写一个javascript代码保存为.js的文件后,使用命令提示符进入保存的js文件夹类,输入nodexx.js文件就可以执行该js代码。