买了 VPS 随便瞎折腾,也不知道正确与否,反正在跑了,就算对了吧。记录一下折腾过程。
话说买来 VPS 是准备折腾 node.js 的,为了长远考虑,基本还是要扔个 nginx 上去的,虽然 node.js 本身就可以当 http 服务器使唤,考虑到, nginx 是宇宙无敌的反向代理,有了它,多域名,80 端口冲突啥也都好解决。

那么首先是 nginx ,小鸡是 CentOS 5 的。参考了 Linode 的 LEMP Server on CentOS 5

本来想自己编译的,偷懒了

 
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm 
yum update 
yum install nginx sudo 

 

这就装好了,下面命令开启 nginx 和加入开机启动:

 
/etc/init.d/nginx start 
chkconfig --add nginx 
chkconfig nginx on 

访问,既可以看到 nginx 欢迎页面了。
洁癖起见,我们将 nginx 默认的 web 目录移走,移到更多人放的 /home/xxx 下面,默认在 /usr/share/nginx/html (不同的 nginx 编译版可能会有不同,这里用的的 EPEL 的)。

 
vi /etc/nginx/ngnix.conf 

在 http 块下找到 server 代码块,将其中的 root 后面的路径改了就好了。改完记得 nginx restart。

好了,引擎X(engine X/nginx) 装好了。
接下来部署 node.js

首先需要 python 2.6 版本以上, CentOS 5 默认是 2.4 的,废话不多说,直接上命令:

 
yum groupinstall 'Development Tools' 
yum install openssl-devel 

安装各种开发工具,用于后面的编译。

 
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 
tar jxvf Python-2.7.3.tar.bz2 cd Python-2.7.3 
./configure --prefix=/usr/local/python2.7 
make make install 

安装 python 2.7 到 /usr/local/python2.7 目录下

 
mv /usr/bin/python /usr/bin/python2.4 
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python 

链接文件替换老版本的 python

 
wget http://nodejs.org/dist/v0.8.2/node-v0.8.2.tar.gz tar xvf node-v0.8.2.tar.gz 
./configure 
make 
make install 

于是,发生错误了,提示 import error 木有找到 bz2 .

好吧,查证了下,说是 CentOS 自带的库太老了,于是:

 
yum install -y bzip2* 
cd ../Python-2.7.2/Modules/zlib 
./configure && make && make install 
cd ../../ 
python setup.py install 

继续 cd 到 node 源码目录,继续 make && make install

无错误的话,就 OK 了。
找个地方,写个 app.js :

 
var http = require('http'); 
http.createServer(function (req, res) { 
    	res.writeHead(200, {'Content-Type': 'text/plain'}); 
    	res.end('Hello World \n'); 
		}
	).listen(8888); 
    console.log('Server running.LOL'); 

运行:

 node app.js 

访问下 yourdomain:8888 就可以看到 node.js 已经在跑了。