确保安装了python,大部分安装失败都是由于python版本过低导致。安装之前,升级python版本,升级步骤 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).进入到该目录编译和安装 [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 。。。一行的上面添加如下内容,并将NODE_HOME/bin设置到系统path中 #set for nodejs export NODE_HOME=/usr/local/node/0.9.0 export PATH=$NODE_HOME/bin:$PATH 保存退出后执行如下命令,使刚才的配置生效 [root@SNDA-192-168-15-161 node-v0.9.0]# source /etc/profile
执行node -h命令验证设置成功
[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/ 至此安装设置完毕。
运行一个简单的node应用程序 + 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 &
更详细的参照socket.io的官网的例子。