系列文章原载于自己的博客,TOPI.CO (http://topi.co) ,某天不小心就 push 错啦,懒得从头再来,上传到 Ruby-China 来,一是方便自己回顾,另外也方便跟我一样的初学者
###NodeJS,服务器端的 JavaScript
{% img /images/nodejs.png 245 66 [Node.js] %}
JavaScript 最早是运行在浏览器中,然而浏览器只是提供了一个上下文,它定义了使用 JavaScript 可以做什么,但并没有“说”太多关于 JavaScript 语言本身可以做什么。事实上,JavaScript 是一门“完整”的语言:它可以使用在不同的上下文中,其能力与其他同类语言相比有过之而无不及。
Node.js 事实上就是另外一种上下文,它允许在后端 (脱离浏览器环境) 运行 JavaScript 代码。要实现在后台运行 JavaScript 代码,代码需要先被解释然后正确的执行。Node.js 的原理正是如此,它使用了 Google 的 V8 虚拟机
(Google 的 Chrome 浏览器使用的 JavaScript 执行环境),来解释和执行 JavaScript 代码。
除此之外,伴随着 Node.js 的还有许多有用的模块,它们可以简化很多重复的劳作,比如向终端输出字符串。因此,Node.js 事实上既是一个运行时环境,同时又是一个库。要使用 Node.js, 首先需要进行安装。
###安装 Node.js
wget http://nodejs.org/dist/v0.6.12/node-v0.6.12.tar.gz
tar xzvf node-v0.6.12.tar.gz
cd node-v0.6.12
./configure
make && make install
###测试 Node.js
查看 node.js 版本:node -v
测试 Hello World Script for Node.js:
vim helloworld.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1229, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1229/');
系统会提示:Server running at http://127.0.0.1:1229/
,打开浏览器输入127.0.0.1:1229
就可以查看效果啦。
###通过 NPM 安装 forever 或 juggernaut
sh
改为sudo sh
)curl http://npmjs.org/install.sh | sh
npm install forever -g
npm install juggernaut -g
在 Gemfile 中加入:gem juggernaut