之前聽過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庫的套件管理器,安裝指令相當簡單:
至此,安裝完畢。
在上面的內容中,只用簡單的幾步就完成了安裝。雖然看起來安裝都是成功的,但是實際上如何就要求我們寫一個程式來進行驗證一下。由於最近也在學習MongoDB,所以就寫一個讀取MongoDB資料庫:計算actionId為772的日誌總數。
4. 使用安裝mongodb驅動
# npm install mongodb
npm 警告
mongodb@0.9.6-23 package.json:bugs['web'] 可能應該是 bugs['url']
npm 警告
nodeunit@0.5.1 package.json:bugs['web'] 可能應該是 bugs['url']
>
mongodb@0.9.6-23 安裝 /root/develop/node/node_modules/mongodb
> bash ./install.sh
==================================================== = ==============================
= =
= 要使用 C bson 解析器安裝,請執行
; =
= 解析器僅適用於節點 0.4.X 或更低版本
= =
==================================================== = ==============================
不為 cygwin 建置本機庫
使用 GNU make
mongodb@0.9.6-23 ./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('動作 772 的總數為 ' count ".n");
res.end();
});
});
});
}).listen(3000, '127.0.0.1');
console.log('伺服器運行於
http://127.0.0.1:3000/'
);
啟動伺服器:
# 節點 mongo.js
在瀏覽器存取
http://127.0.0.1:3000
,可以看到下列輸出:
現在可以說前面的安裝過程是正確的,開了個好頭。