CentOS上安装Node.js和mongodb笔记

  之前听说过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。下面是命令:

  

复制代码 代码如下:

  # wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz

  # tar xzvf Python-3.2.3.tgz

  # cd Python-3.2.2

  # ./configure

  # make

  # make test

  # make install

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

  2. 安装Node.js

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

  

复制代码 代码如下:

  # wget https://nodeload.github.com/joyent/node/tarball/master

  # mv master node.tar.gz

  # tar xzvf node.tar.gz

  # cd joyent-node-84d0b1b

  # ./configure --prefix=/opt/node/

  # make

  # make install

  # cd /usr/bin

  # ln -s /opt/node/bin/node node

  # ln -s /opt/node/bin/node-waf node-waf

  3. 安装npm

  npm是用来安装node.js库的包管理器,安装命令相当地简单:

  

复制代码 代码如下:

  # curl http://npmjs.org/install.sh | sh

  至此,安装完毕。

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

  4. 使用安装mongodb驱动

  

复制代码 代码如下:

  # npm install mongodb

  npm WARN [email protected] package.json: bugs['web'] should probably be bugs['url']

  npm WARN [email protected] package.json: bugs['web'] should probably be bugs['url']

  > [email protected] install /root/develop/node/node_modules/mongodb

  > bash ./install.sh

  ================================================================================

  =                                                                              =

  =  To install with C++ bson parser do <npm install mongodb --mongodb:native>   =

  =  the parser only works for node 0.4.X or lower                               =

  =                                                                              =

  ================================================================================

  Not building native library for cygwin

  Using GNU make

  [email protected] ./node_modules/mongodb

  根据提示执行:

  

复制代码 代码如下:

  # cd node_modules/mongodb

  # bash ./install.sh

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

  5. 编写测试代码mongo.js

  

复制代码 代码如下:

  var http = require('http');

  var mongodb = require('mongodb');

  http.createServer(function(req, res){

  res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});

  mongodb.connect('mongodb://localhost:40202/log', function(err, conn){

  conn.collection('log', function(err, coll){

  coll.count({'action': 772}, function(err, count){

  res.write('The total of action 772 is ' + count + ".\n");

  res.end();

  });

  });

  });

  }).listen(3000, '127.0.0.1');

  console.log('Server running at http://127.0.0.1:3000/');

  启动服务器:

  

复制代码 代码如下:

  # node mongo.js

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

CentOS上安装Node.js和mongodb笔记

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