nodejs安裝和運行教程

本文講述nodejs的安裝的運行環境說明。關鍵工具:nodejs、npm、pm2

1. 名詞說明:
1.  Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺, 用來方便地搭建快速的, 易於擴展的網絡應用。類似php、java等服務器端語言。
2.  NPM的全稱是Node Package Manager,是一個NodeJS包管理和分發工具。簡單一點說就是插件管理工具
3.  PM2 is perfect when you need to spread your stateless Node.js code accross all CPUs available on a server, to keep all processes alive forever and to 0s reload them.
nodejs 項目的發佈和管理工具


2. 安裝
1. 下載 nodejs的安裝包   http://www.nodejs.org/download/

有多個版本選擇,windows、linux、mac   我這裏選擇linux64位



這也就能直接複製文件的url地址



1.源碼安裝 (推薦)
下載源碼到本地  wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
在命令行中輸入:
tar -zxvf 文件名
cd node-v0.10.29
./configure
sudo make
sudo make install


如果沒報錯,
輸入 node -v  查看node的安裝版本
輸入 npm -v   查看npm的版本



2 .  直接安裝
 wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz

下載好了後,解壓:tar -zxvf node-v0.10.28-linux-x64.tar.gz
解壓後不需要安裝,直接把bin目錄加到環境變量中即可。



3.nodejs 程序運行管理

1.  node 啓動x項目
最簡單的nodejs web程序
var http = require('http'),
server = http.createServer(function (req, res) {
    res.writeHeader(200, {"Content-Type": "text/plain"});
    res.end("Hello World\n");
});
server.listen(3001,function(){
    console.log("http start 3001");
});


保存以上代碼 到 app.js 文件,開始運行
node app.js     
在瀏覽器輸入http://localhost:3001/   即可看到輸出 hello wolrd。

以上爲簡陋的項目啓動方式,如果你退出終端,項目就停止運行了,也沒有詳細的內存和使用時長、日誌等信息。


2.  神器 pm2 

 1.安裝pm2   官方文檔 https://github.com/Unitech/pm2
npm install pm2@latest -g


想要啓動一個使用所有CPU核心的集羣,你只需要鍵入如下的指令:
$ pm2 start app.js -i max

pm2 start app.js -i 3    # Will start 3 processes
然後:

$ pm2 list
然後就會顯示類似下面的東西(ASCII UI FTW);

就像你看到的,現在你的應用有多少個進程就取決於你的CPU核心數了
按照termcaps-HTOP(Linux下的系統監控與進程管理軟件)的方式管理
通過pm2 list命令來觀察所有運行的進程以及它們的狀態已經足夠好了.但是怎麼來追蹤它們的資源消耗呢?別擔心,用這個命令:
$ pm2 monit
你可以得到進程(以及集羣)的CPU的使用率和內存佔用.

聲明:node-usage到目前爲止還不支持MacOS(隨便什麼性能要求),不過它在Linux下運行良好.
現在,讓我們來覈實一下我們的集羣,還有對內存堆棧的垃圾回收,我們假設你已經有一個HTTP基準測試工具(如果沒有,你一定要使用WRK):
1
2
3
4
5
    $ express bufallo    //Create an express app
    $ cd bufallo
    $ npm install
    $ pm2 start app.js -i max
    $ wrk -c 100 -d 100 http://localhost:3000/
在另一個終端,運行監控選項:
$ pm2 monit
耶~
實時集中log處理
現在你不得不管理多個集羣進程:一個爬取數據,一個處理數據,等等…這就意味着大量log,你可以按照老式的方法處理:
$ tail -f /path/to/log1 /path/to/log2 ...
但我們想的很周到,我們增加了logs功能:
$ pm2 logs

快速恢復
現在事情一切順利,你的進程嗡嗡的運行着,你需要做一次硬重啓(hard restart).現在嗎?是的,首先,dump掉:
$ pm2 dump
然後,你可以從文件中恢復它:
$ pm2 kill      //讓我們假設一個PM2停掉了

$ pm2 resurect  //我所有的進程又滿血滿狀態復活了


 更多操作 查看 https://github.com/Unitech/pm2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章