Node.js是一個基於Chrome V8引擎的JavaScript運行環境,用來方便快速地搭建易於擴展的網絡應用。Node.js使用了一個事件驅動、非阻塞式I/O的模型,使其輕量又高效,非常適合運行在分佈式設備的數據密集型的實時應用。Node.js的包管理器npm,是全球最大的開源庫生態系統。Node.js的典型應用場景包括:
- 實時應用:如在線聊天,實時通知推送等等(例如socket.io)。
- 分佈式應用:通過高效的並行I/O使用已有的數據。
- 工具類應用:海量的工具,小到前端壓縮部署(例如grunt),大到桌面圖形界面應用程序。
- 遊戲類應用:遊戲領域對實時和併發有很高的要求(例如網易的pomelo框架)。
- 利用穩定接口提升Web渲染能力
- 前後端編程語言環境統一:前端開發人員可以非常快速地切入到服務器端的開發(例如著名的純Javascript全棧式MEAN架構)。
選擇以下任意一種方法部署Node.js環境。
該部署過程使用的安裝包是已編譯好的二進制文件。解壓之後,在bin
文件夾中就已存在node
和npm
,無需重複編譯。
完成以下操作,使用二進制文件部署Node.js環境:
下載Node.js安裝包
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
解壓文件
tar xvf node-v6.9.5-linux-x64.tar.xz
創建軟鏈接,您就可以在任意目錄下直接使用node和npm命令
ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
查看node、npm版本
node -v
npm -v
至此,Node.js環境已安裝完畢。軟件默認安裝在/root/node-v6.9.5-linux-x64/
目錄下
如果需要將該軟件安裝到其他目錄(例如:/opt/node/)下,請進行如下操作:
mkdir -p /opt/node/
mv /root/node-v6.9.5-linux-x64/* /opt/node/
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm
ln -s /opt/node/bin/node /usr/local/bin/node
ln -s /opt/node/bin/npm /usr/local/bin/npm
NVM(Node Version Manager)是Node.js的版本管理軟件,使您可以輕鬆在Node.js各個版本間進行切換。適用於長期做node開發的人員或有快速更新node版本、快速切換node版本的場景
完成以下操作,使用NVM安裝多個Node.js版本:
使用git將源碼克隆到本地的~/.nvm
目錄下,並檢查最新版本
yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
列出Node.js的所有版本
nvm list-remote
安裝多個Node.js版本
nvm install v6.9.5
nvm install v7.4.0
運行nvm ls
查看已安裝的Node.js版本,當前使用的版本為v7.4.0。返回結果如下所示
[root@iZXXXXZ .nvm]# nvm ls
v6.9.5
-> v7.4.0
system
stable -> 7.4 (-> v7.4.0) (default)
unstable -> 6.9 (-> v6.9.5) (default)
運行nvm use v7.4.0
切換Node.js版本至v7.4.0。返回結果如下所示。
[root@iZXXXXZ .nvm]# nvm use v7.4.0
Now using node v7.4.0
cd ~
touch example.js
修改項目文件example.js
打開example.js
vim example.js
將以下項目文件內容粘貼到文件中
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
說明 :項目配置的端口號為3000。實際應用過程中,xu'yao自行配置端口號
按Esc退出編輯模式,然後輸入:wq並回車以保存並關閉文件
node ~/example.js &
運行以下命令查看是否在監聽項目端口
netstat -tpln
在瀏覽器中輸入http://地址>:端口號訪問項目即可