在CentOS5.6上安装Node.js


之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解。今天在QCon上听了袁锋的分享《Node.js脱离了浏览器的Javascript》之后,顿时有了想立刻试一下的冲动。


Node.js的安装步骤算是比较简单,没有太多的弯路,主要参考文档:


Building and Installing Node.js


1. 安装Python


根据参考文档说明,从源代码编译安装Node.js需要python2.6或者以上,而通过yum install python.x86_64只能得到2.4.3,所以也要通过源码编译安装python。下面是命令:


  1. # wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz   
  2. # tar xzvf Python-3.2.3.tgz   
  3. # cd Python-3.2.2   
  4. # ./configure   
  5. # make   
  6. # make test   
  7. # make install  



完成安装后,执行python命令,可以进入python的命令行窗口。


2. 安装Node.js


按照文档上的说明通过git checkout代码一直不能成功,无论是使用git://github.com/joyent/node.git还是https://github.com/joyent/node.git。所以只能从github网上上下载后再编译安装,具体步骤如下:


  1. # wget https://nodeload.github.com/joyent/node/tarball/master   
  2. # mv master node.tar.gz   
  3. # tar xzvf node.tar.gz   
  4. # cd joyent-node-84d0b1b   
  5. # ./configure --prefix=/opt/node/   
  6. # make   
  7. # make install   
  8. # cd /usr/bin   
  9. # ln -s /opt/node/bin/node node   
  10. # ln -s /opt/node/bin/node-waf node-waf  

只用简单的几步就完成了安装。虽然看起来安装都是成功的,但是实际如何就要求我们写一个程序来进行验证一下。由于最近也在学习MongoDB,所以就写一个读取MongoDB数据库:计算actionId为772的日志总数。


1. 使用安装mongodb驱动


  1. <pre name="code" class="plain"># npm install mongodb    
  2. npm WARN mongodb@0.9.6-23 package.json: bugs['web'] should probably be bugs['url']    
  3. npm WARN nodeunit@0.5.1 package.json: bugs['web'] should probably be bugs['url']    
  4.     
  5. > mongodb@0.9.6-23 install /root/develop/node/node_modules/mongodb    
  6. > bash ./install.sh    
  7.     
  8. ================================================================================    
  9. =                                                                              =    
  10. =  To install with C++ bson parser do <npm install mongodb --mongodb:native>   =    
  11. =  the parser only works for node 0.4.X or lower                               =    
  12. =                                                                              =    
  13. ================================================================================    
  14. Not building native library for cygwin    
  15. Using GNU make    
  16. mongodb@0.9.6-23 ./node_modules/mongodb   

根据提示执行:


  1. # cd node_modules/mongodb    
  2. # bash ./install.sh   

注意:驱动必须安装在项目所在的目录下,并不是安装一次所有项目都可以使用。





2. 编写测试代码mongo.js


  1. var http = require('http');    
  2. var mongodb = require('mongodb');    
  3.     
  4. http.createServer(function(req, res){    
  5.   res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});    
  6.   mongodb.connect('mongodb://localhost:40202/log', function(err, conn){    
  7.     conn.collection('log', function(err, coll){    
  8.       coll.count({'action': 772}, function(err, count){    
  9.         res.write('The total of action 772 is ' + count + ".\n");    
  10.         res.end();    
  11.       });    
  12.     });    
  13.   });    
  14. }).listen(3000, '127.0.0.1');    
  15.     
  16. console.log('Server running at http://127.0.0.1:3000/');   

启动服务器:


  1. # node mongo.js   

在浏览器访问http://127.0.0.1:3000,可以看到如下输出:




 


现在可以说前面的安装过程是正确,开了个好头。


参考文章:


Getting started with VMWare CloudFoundry, MongoDB and Node.js


Blog rolling with mongoDB, express and Node.js


原文链接:http://blog.csdn.net/mydeman/article/details/6895223




【责任编辑:彭凡 TEL:(010)68476606】




标签:
Warning: Invalid argument supplied for foreach() in C:\zl\webjia\view.php on line 50

友情链接
轻松育儿世界奇观
苏ICP备16066217号-2