node.js 入門(1)

 

可伸縮的網絡程序?看瞭維基上的定義,大致的意思就是你構建一個web程序,它具有一定的彈性,不會在突然劇增的並發訪問下死掉。

 

我還是小菜,現在還木有參與過那種可以接受突然劇增的並發訪問的web應用。具體是神馬情況我紙上談兵卻也木有用啊!

 

node 2009年面世,有瞭node我們服務器端不單單是php或者是java啦。完全可以基於javascript構建出那麼一個完整的web應用(當然node不單單隻有這些用處)

 

 

node采用瞭

 

事件驅動,單線程,非阻塞 三種機制

 

 

node有比較重要的三個核心

 

V8 (google開發的javascript解析引擎,chrome上就是使用的這個啦,V8是c++寫的)

 

libev (一個用c寫成的庫,應用在非阻塞I/O上,基於event loop)

 

libeio (同樣也是一個c寫成的庫,線程池,是node完成在單線程下異步I/O的基礎啦)

 

 

node安裝起來還是很容易的,我在linux上安裝滴,有興趣可以試試啦

 

 

git clone –depth 1 git://github.com/joyent/node.git # or git clone git://github.com/joyent/node.git if you want to checkout a stable tag

cd node

git checkout v0.5.3 # optional.  Note that master is unstable.

export JOBS=2 # optional, sets number of parallel commands.

mkdir ~/local

./configure –prefix=$HOME/local/node

make

make install

echo 'export PATH=$HOME/local/node/bin:$PATH' >> ~/.profile

echo 'export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules' >> ~/.profile

source ~/.profile

我安裝的時候沒有選擇那些可選項

 

其他平臺的安裝方式可以參照下面的網站

 

https://github.com/joyent/node/wiki/Installation

 

 

 

 

假設你安裝好瞭,然後幹嘛呢?肯定是寫個Hello World唄~~~

 

建個文件hello.js 寫下如下內容:

 

 

console.log("hello world");

 

 

 

 

打開您老人傢的終端,進到hello.js所在文件夾

 

xxxxx$node hello.js

 

輸出是你最熟悉的啦!~~~

 

 

 

 

現在咱們來構建一個http服務器,別怕!很簡單的

 

創建文件httpServer.js

 

 

var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello World\n');

}).listen(8888, "127.0.0.1");

console.log('Server running at https://127.0.0.1:8888/');

 

運行哦~,然後開瀏覽器,你懂的~~

 

 

 

 

今天就先這些吧~

 

我看的第一篇文章在這裡,推薦給大傢!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *