既然想了解Node.js,那麼就用它向世界打個招呼吧!node
1.在nodejs文件加下面建立一個js文件,例如:hello.jsweb
2.hello.js文件裏的內容以下:瀏覽器
var http=require('http');//引入http module http.createServer(function(request,response){//建立一個web server //回調函數,這樣建立server方法就不會阻塞了 response.writeHead(200,{'contentType':'text/plain'}); response.end('Hello World!\n'); }).listen(8124); console.log('Server running at http://127.0.0.1:8124/');
3.調出cmd.exe,使用 cd \.....\nodejs 到達nodejs文件目錄,再輸入 node hello.js 運行服務器
4.打開瀏覽器,在地址欄輸入你設置的端口號 http://127.0.0.1:8124/,刷新,顯示「Hello World!」網絡
Node 公開宣稱的目標是 「旨在提供一種簡單的構建可伸縮網絡程序的方法」。當前的服務器程序有什麼問題?咱們來作個數學題。在 Java™ 和 PHP 這類語言中,每一個鏈接都會生成一個新線程,每一個新線程可能須要 2 MB 的配套內存。在一個擁有 8 GB RAM 的系統上,理論上最大的併發鏈接數量是 4,000 個用戶。隨着您的客戶羣的增加,若是但願您的 Web 應用程序支持更多用戶,那麼,您必須添加更多服務器。固然,這會增長服務器成本、流量成本和人工成本等成本。除這些成本上升外,還有一個潛在技術問題,即用戶可能針對每一個請求使用不一樣的服務器,所以,任何共享資源都必須在全部服務器之間共享。鑑於上述全部緣由,整個 Web 應用程序架構(包括流量、處理器速度和內存速度)中的瓶頸是:服務器可以處理的併發鏈接的最大數量。架構
Node 解決這個問題的方法是:更改鏈接到服務器的方式。每一個鏈接發射一個在 Node 引擎的進程中運行的事件,而不是爲每一個鏈接生成一個新的 OS 線程(併爲其分配一些配套內存)。Node 聲稱它毫不會死鎖,由於它根本不容許使用鎖,它不會直接阻塞 I/O 調用。Node 還宣稱,運行它的服務器能支持數萬個併發鏈接。併發
如今您有了一個能處理數萬個併發鏈接的程序,那麼您能經過 Node 實際構建什麼呢?若是您有一個 Web 應用程序須要處理這麼多鏈接,那將是一件很 「恐怖」 的事!那是一種 「若是您有這個問題,那麼它根本不是問題」 的問題。在回答上面的問題以前,咱們先看看 Node 的工做原理以及它的設計運行方式。框架