Node.js是一个基于googlev8+javascript的服务端编程框架。但是Node.js又不是js应用,应该说是js的运行平台。它采用事件驱动、异步编程,为网络服务而设。
Node.js的性能不错,按照创始人RyanDahl的说法,性能是Node.js考虑的重要因素,选择c++和v8而不是ruby或者其他的虚拟机也是基于性能的目的。Node.js在设计上也是比较大胆,它以单进程、单线程模式运行,事件驱动机制是Node.js通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求,Node.js凭借事件驱动搞定一切。
要使用Node.js,首先需要进行安装。
ubuntu11.10 32bit
node-v0.8.16.tar.gz
首先确保系统安装来python,gcc,g++,如果没有则安装:
$ sudo apt-get install python $ sudo apt-get installbuild-essential $ sudo apt-get install gcc $ sudo apt-get install g++
从nodeJS官网http://nodejs.org/下载最新源代码包:node-v0.8.16.tar.gz
解压:
$ tar -zxf node-v0.8.16.tar.gz $ cd node-v0.8.16
默认安装:
$ ./configure $ make $ sudo make install
$ ./configure –prefix=/usr/node $ make -j 5 #5=CPU核数+1 $ sudo make install
$ node –versionv0.8.16
好了,“废话”不多说了,马上开始我们第一个Node.js应用:“HelloWorld”。
打开你最喜欢的编辑器,创建一个helloworld.js文件。我们要做就是向STDOUT输出“HelloWorld”,如下是实现该功能的代码:
console.log("Hello World");
保存该文件,并通过Node.js来执行:
node helloworld.js
正常的话,就会在终端输出HelloWorld 。
好吧,我承认这个应用是有点无趣,那么下面我们就来点“干货”。
让我们先从服务器模块开始。在你的项目的根目录下创建一个叫server.js的文件,并写入以下代码:
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888);
搞定!你刚刚完成了一个可以工作的HTTP服务器。为了证明这一点,我们来运行并且测试这段代码。首先,用Node.js执行你的脚本:
node server.js