Node.JS进行简单新技术分析及环境搭建
一,简单技术分析:
如今做互联网,如果谁不知道Node.JS一定都不好意思说出口,呵呵,当然,这是好事者的观点。
的确,从2009、年至今,随站Node.JS的的热炒有点像当年的Python,Ruby,ROR,Grooves等,不过Node.JS的论坛的火热甚至于有点疯狂(thriving),再看看各大软件开始对它的支持,可见的确前景不同以往脚本环境。
不过我们总是理智的人,我们来理解的来看待Node.JS.
首先,从执行语言角度来说,它仍只是一个脚本解释器,建立在Google V8引擎上,这归功于这几年的各大浏览器厂商的竞争,使得Google的V8引擎进一步优化,从而执行速度及效率惊人。但效率再惊人,他一样也是脚本平台,就像女人身体再好,一般也拼不过男人的体力,呵呵,所以别期望它能速度快过本地的以机器指令为内容的本地程序平台比如C/C++. 不过还是人家Google做些实事,Java虚拟机在人家手里优化过后,可以用在手机上形成Android平台。
其次,这个脚本解释器解释的是JavaScript 脚本,这可是一个很大的亮点。因为很多程序员转到这个平台上很容易,甚至于前端人员可以不花费太多力气就能来写服务端程序。
再者,这个脚本解释器与别的脚本一样(如Python,Ruby)运行在各种平台上。
最后,除了上述的特点外,我们从使用角度来看它的优缺点:
它是高效的JavaScript 脚本平台。容易一些旧有前端或Java 开发人员转入到服务端开发,但是因为JavaScript 历史原因,这个脚本语言风格较为散乱,但比起Python,Ruby还是有一些优势的。
它有一些活跃甚至疯狂的社区,所以它的进步与演化也是快速的,同时也说明两点:1,它还不成熟稳定,2,它的接口及组件还不稳定,版本更替快,而且发现不少不向前兼容的情况发生。
它有一系列很好的Web服务器组件支持,比如express,express-messages,各种json parser。用它来搭建高并发Web服务器有一定的优势。同时它的对数据库组件也相当丰富,开源的基于Node.JS的平台架构也开始出现
比如网易的Pemole.
由于Node.JS能跨越各操作系统,同时,又能快速提供Web,RPC等接口,用它来做后台服务集群的维护工具绝对是一个不错的选择。
二.安装配置:
1. 在windows下安装。从http://nodejs.org/下载windows下的.msi安装包,装好就行了。新版的0.8.20安装后NPM就缺省安装了。
在程序菜单中找到Node.JS的命令行环境,进入后,安装一些必备的组件。
> npm install express -gd
这里就不多说了,网上资料很多。也很简单
2. 在linux 下安装也很简单。从http://nodejs.org/下载对应架构的可执行程序(关注64位32位系统区别下载)
解压包到/home/joezhang/nodejs目录,就可以直接在命令行运行Node.JS了。当然为了使用方便,可以设置一些环境变量
export PATH=$PATH:/home/joezhang/nodejs/bin
export NODE_PATH="/homejoezhang/nodejs:/home/joezhang/nodejs/lib/node_modules"
当然如果你是一个程序文艺青年,可以你下功源码编译安装。
tar -zxvf node-v0.8.20.tar.gz
cd node-v0..8.20/
./configure --prefix=/home/joezhang/nodejs 一般建议安装到/usr/local/nodejs目录下。
make
sudo make install
完成安装,你就可以Node.JS的包管理工具npm进行管理组件了,原理与linux的包管理机制一样比如 yum,apt-get等。
由于网络特殊原因,大这都懂的,npm下载组件的原来缺省服务器https://registry.npmjs.org/时常访问很慢,大家可以更换一些镜像服务器
修改 npm config set registry "http://npm.hacknodejs.com/"
或npm config set registry “http://registry.npmjs.vitecho.com”
一般安装常用的组件:
$ npm install express -gd
$npm install express-messages -gd
-g参数是让被安装的组件放到Node.JS lib目录下的node_modules目录下, 在这个位置,可以方便程序共享使用,
d参数就是在安装组件时,同时分析这个组件所有依赖项并进行安装。
当然,也可以本地安装一些网上下载的组件,只要下载的组件里有package.json文件即可,这个文件是组件的描述文件,包含此组件的依赖关系。
三,从一上例子程序开始:
http://127.0.0.1就可以看到结果。