NodeJS探索

转载自:http://www.handaoliang.com/article_39.html

一、什么是NodeJS?
第一眼看到这个词,估计你和我一样,以为它不过是一个JavaScript框架吧?如果是,那么首先恭喜你,说明你的思维是正常的。其次鄙视你:凭什么带JS的就一定是JavaScript框架?你丫做技术的吧?最看不起你们这帮做技术的了,跟姓韩的那谁似的,没一点文化。
生活经验告诉我们,牛人往往都不怎么正常,正常人往往都成不了牛人。比如说NodeJS的发明者,这家伙就曾叫嚣说:其实JavaScript更适合做服务器端的并发编程。估计很多人听到这话都笑了,嗯,原谅我的可耻,我也笑了。令人欣慰的是上帝没有笑。当年上帝说要光,于是就有人脱了个精光。今天,上帝说我相信这个人能成,于是这个人还真成了,他弄了这么个东西:NodeJS--基于V8引擎的,使用事件驱动模型而不是复杂的多线程来获得可伸缩性,类似Ruby的EventMachine和Python的Twisted的轻量级WEBServer。
是不是很有意思?这意味着什么我想大伙都清楚吧?嗯,如果这东东真的可用,那就是说,以后前段后端都可以都用JavaScript来编程了,这对于JS程序员来说,真是一个莫大的福音,因为你们再也不用看着那帮做后台的孙子的脸色干活了,可以翻身做后端了。
好,废话到此,那接下来就请跟着我,开始NodeJS的探索之旅。

二、安装!
安装前先从NodeJS的官方网站下载其源代码:

  1. [root@www source]# wget http://s3.amazonaws.com/four.livejournal/20091028/node-v0.1.15.tar.gz
  2. [root@www source]# tar xzvf node-v0.1.15.tar.gz
  3. [root@www source]# cd node-v0.1.15

安装NodeJS很简单,一般情况下,Linux下常用的三步走即可。但需要注意的是:NodeJS需要2.3以上版本Python的支持,否则安装无法继续。

打开tools/waf-light,看到如下代码:

  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. # Thomas Nagy, 2005-2009
  4.  
  5. # ...
  6.  
  7. import os, sys
  8. if sys.hexversion<0x203000f: raise ImportError("Waf requires Python >= 2.3")

从以上代码我们知道,在安装脚本中,在Python脚本的头部指定了#!/usr/bin/env python,这就使得如果你的系统安装了自带的Python程序,则有可能由于版本不够高而无法安装。比如我的系统,是把Python2.5安装在了/usr/local/python252,同时未删除系统自带的低版本Python,此时如果configure,则会出错。

好吧,那我们建一个软连接:

  1. [root@www source]# sh
  2. [root@www source]# cd /usr/local/sbin/
  3. [root@www source]# ln -s /usr/local/python252/bin/python2.5 python
  4. [root@www source]# python
  5. [root@www source]# exit

此时执行的/usr/bin/env python,即可使用我们自己编译的Python。
PS.直接建软连接就可以了,这里之所以到sh环境下,是为了看一下sh环境。

执行configure,安装nodejs:

  1. [root@www source]# ./configure --prefix=/var/iapps/nodejs
  2. [root@www source]# make && make install

三、初次试用:
一切顺利,安装完成,写个脚本试试:

  1. #!/var/iapps/nodejs/bin/node
  2.  
  3. var sys = require("/sys.js"), http = require("/http.js");
  4. http.createServer(function (req, res) {
  5.     setTimeout(function () {
  6.             res.sendHeader(200, {"Content-Type": "text/plain"});
  7.             res.sendBody("Hello,This is Laohan(www.handaoliang.com)!");
  8.             res.finish();
  9.         }, 2000);
  10.     }).listen(8000);
  11. sys.puts("Server running at http://127.0.0.1:8000/");

我相信,对于JavaScript程序员来说,这语法真是太熟悉了,除了第一、第二行之外。无论如何,我们要开始我们的梦想之旅了,那么接下来我们将example.js设置成可执行并运行它:

  1. [root@www source]# chmod +x example.js
  2. [root@www source]# ./example.js

此时屏幕显示:Server running at http://127.0.0.1:8000/
访问:http://127.0.0.1:8000/,如果看到页面输出:Hello,This is Laohan(www.handaoliang.com)!,那么恭喜你,安装成功了,接下来就需要发挥你自己的聪明才智,去实现各种强大的功能了。很激动人心吧?


WebSocket and Socket.IO


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值