確保安裝了python,大部分安裝失敗都是由于python版本過低導(dǎo)致。安裝之前,升級(jí)python版本,升級(jí)步驟 http://www.tomtalk.net/wiki/Python。
[root@SNDA-192-168-15-161 ~]# python -V
Python 2.7.3
開始安裝:
1).下載nodejs到本地并解壓縮
[root@SNDA-192-168-15-161 node]# wget http://nodejs.org/dist/v0.9.0/node-v0.9.0.tar.gz
[root@SNDA-192-168-15-161 node]# tar zxvf node-v0.9.0.tar.gz
2).進(jìn)入到該目錄編譯和安裝
[root@SNDA-192-168-15-161 node-v0.9.0]# cd node-v0.9.0
[root@SNDA-192-168-15-161 node-v0.9.0]# ./configure --prefix=/usr/local/node/0.9.0
這里安裝在了/usr/local/node/0.9.0目錄下
[root@SNDA-192-168-15-161 node-v0.9.0]# make
[root@SNDA-192-168-15-161 node-v0.9.0]# make install
3).配置NODE_HOME
[root@SNDA-192-168-15-161 node-v0.9.0]# vi /etc/profile
在export PATH USER 。。。一行的上面添加如下內(nèi)容,并將NODE_HOME/bin設(shè)置到系統(tǒng)path中
#set for nodejs
export NODE_HOME=/usr/local/node/0.9.0
export PATH=$NODE_HOME/bin:$PATH
保存退出后執(zhí)行如下命令,使剛才的配置生效
[root@SNDA-192-168-15-161 node-v0.9.0]# source /etc/profile
執(zhí)行node -h命令驗(yàn)證設(shè)置成功
[root@SNDA-192-168-15-161 ~]# node -h
Usage: node [options] [ -e script | script.js ] [arguments]
node debug script.js [arguments]
Options:
-v, --version print node's version
-e, --eval script evaluate script
-p, --print print result of --eval
-i, --interactive always enter the REPL even if stdin
does not appear to be a terminal
--no-deprecation silence deprecation warnings
--trace-deprecation show stack traces on deprecations
--v8-options print v8 command line options
--max-stack-size=val set max v8 stack size (bytes)
Environment variables:
NODE_PATH ':'-separated list of directories
prefixed to the module search path.
NODE_MODULE_CONTEXTS Set to 1 to load modules in their own
global contexts.
NODE_DISABLE_COLORS Set to 1 to disable colors in the REPL
Documentation can be found at http://nodejs.org/
至此安裝設(shè)置完畢。
運(yùn)行一個(gè)簡(jiǎn)單的node應(yīng)用程序 + socket.io,首先需要安裝socket.io模塊
[root@SNDA-192-168-15-161 ~]# npm install socket.io
[root@SNDA-192-168-15-161 ~]# vi app.js
var http=require('http');
var io =require('socket.io');
var server = http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('Hello world');
});
server.listen(process.argv[2]);
var socket = io.listen(server);
socket.on('connection',function(client){
console.log('client has connected');
client.on('message',function(){ });
});
[root@SNDA-192-168-15-161 ~]# nodejs ./app.js 8001 &
[root@SNDA-192-168-15-161 ~]# nodejs ./app.js 8002 &
[root@SNDA-192-168-15-161 ~]# nodejs ./app.js 8003 &
[root@SNDA-192-168-15-161 ~]# nodejs ./app.js 8004 &
更詳細(xì)的參照socket.io的官網(wǎng)的例子。
websocket與node.js的完美結(jié)合
http://wanshuiqianshan.iteye.com/blog/1618498