1. 程式人生 > >Node.js介紹及安裝

Node.js介紹及安裝

文章目錄

Node.js 是什麼

  • Node.js 是一個Javascript執行環境(Runtime Enviroment)。後端程式設計師如果理解這個有障礙的話, 可以想想JRE。
  • Node.js 基於Google的V8引擎。實質是對Chrome V8引擎進行了封裝。
  • Node.js 是執行在服務端的 JavaScript。

Node.js 釋出於2009年5月,由Ryan Dahl開發。

Node.js VS JQuery、ExtJS

完全沒有可比性, 不是一個型別的概念。Node.js不是JavaScript的Framework, 也不是前端的庫。

如果實在要拿個來比的話, 可以與JRE(Java Runtime Enviroment)來比較,Node.js讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的指令碼語言

Node.js 的出現及應用場景

執行緒與執行緒阻塞

看一下執行緒的定義:可以獨立執行的最小的CPU單位, 可以在一個程序裡併發執行, 共享該程序下的記憶體地址空間。
注意,執行緒是共享記憶體空間的,如果多個執行緒用到同一個空間的變數時, 則先到顯得,後到等待, 也就是加入到阻塞排隊序列,也就是常說的執行緒阻塞。

一般的伺服器, 比如Apache的伺服器就會出現以上阻塞的狀況。

Node.js是怎麼做的?

  • 單程序,單執行緒
  • 非同步I/O
    也就是說:通過非同步回撥的方式, 不需要實時等待執行結果的返回。
    NodeJS的工作原理其實就是事件迴圈。可以說每一條NodeJS的邏輯都是寫在回撥函式裡面的,而回調函式都是有返回之後才非同步執行的!

Java等後端語言通過子執行緒也可以實現並行請求,Node.js 看起來更自然。

NodeJS處理併發的能力強,但處理計算和邏輯的能力反而很弱,通過非同步I/O,可以實現對高併發的高效能處理。
####適用場景

  1. RESTful API
  2. 前後端分離的Web應用
  3. 大量 Ajax請求的應用

Node.js 優缺點

優點:

  1. 高併發
  2. 適合I/O密集應用

缺點:

1.不適合CPU密集型應用
2. 因為單程序單執行緒,不能充分利用CPU
3. 可靠性低。
這個缺點可以結合Nngix反向代理和使用cluster模組改善
4.開源庫尚未成熟
5.Debug不方便

下載安裝

官方網站: https://nodejs.org/en/
有Windows 版本也有linux 版本的。
Windows版本下載之後點選安裝一直next 就可以了。以下介紹一下Windows下的安裝:

  1. 下載完成後用ftp上傳到Linux任意資料夾。我的是/usr/local。進入到此資料夾。
cd /usr/local
  1. 解壓
tar xf node-v8.3.0-linux-x64.tar.xz

3.進入解壓目錄,設定node和npm為全域性變數

#ln -s /home/chuan/chuansoft/node-v8.3.0-linux-x64/bin/node /usr/local/bin/node

#ln -s /home/chuan/chuansoft/node-v8.3.0-linux-x64/bin/npm /usr/local/bin/npm

5.測試安裝結果,命令列執行:

#node -v
#npm -v