本篇文章給大家帶來的內容是關于云服務器ecs實例上如何安裝nodejs并部署項目,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
部署Node.js項目(CentOS)
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境,用來方便地搭建快速的易于擴展的網絡應用。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效,非常適合運行在分布式設備的數據密集型的實時應用。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。典型的應用場景包括:
實時應用:如在線聊天,實時通知推送等等(如socket.io)
分布式應用:通過高效的并行I/O使用已有的數據
工具類應用:海量的工具,小到前端壓縮部署(如grunt),大到桌面圖形界面應用程序
游戲類應用:游戲領域對實時和并發有很高的要求(如網易的pomelo框架)
利用穩定接口提升Web渲染能力
前后端編程語言環境統一:前端開發人員可以非??焖俚厍腥氲椒掌鞫说拈_發(如著名的純Javascript全棧式MEAN架構)
適用對象
本文檔介紹如何在阿里云CentOS系統的云服務器ECS實例上,安裝Nodejs并部署項目。
準備工作
部署之前,請做如下準備工作:
購買ECS實例
您的實例運行的鏡像是CentOS7.2
您的實例可以連接公網
本地已經安裝用于連接 linux 實例的工具,如 PuTTY。
基本流程
使用云服務器ECS安裝Nodejs并部署項目的操作步驟如下:
購買ECS實例,并連接實例。
選擇以下任一種方法部署Node.js環境:
使用二進制文件。
使用NVM安裝多版本。
部署測試項目。
操作步驟
步驟 1:創建ECS實例
創建ECS實例。選擇操作系統為公共鏡像CentOS7.2。使用root用戶登錄Linux實例。
步驟2:部署Node.js環境
使用以下任一種方法部署Node.js環境。
使用二進制文件安裝
該部署過程使用的安裝包是已編譯好的二進制文件,解壓之后,在bin文件夾中就已存在node和npm,無需手工編譯。
安裝步驟:
wget命令下載Node.js安裝包。該安裝包是編譯好的文件,解壓之后,在bin文件夾中就已存在node和npm,無需重復編譯。
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命令全局有效。通過創建軟鏈接的方法,使得在任意目錄下都可以直接使用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安裝多版本
NVM(Node version manager)是Node.js的版本管理軟件,使用戶可以輕松在Node.js各個版本間進行切換。適用于長期做 node 開發的人員或有快速更新node版本、快速切換node版本這一需求的用戶。
安裝步驟:
直接使用git將源碼克隆到本地的~/.nvm目錄下,并檢查最新版本。
yum?install?git git?clone?https://github.com/cnpm/nvm.git?~/.nvm?&&?cd?~/.nvm?&&?git?checkout?`git?describe?--abbrev=0?--tags`
激活NVM。
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版本,當前使用的版本為v6.9.5。返回結果如下所示。
[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
NVM的更多操作請參考幫助文檔:
nvm?help
步驟3:部署測試項目
新建項目文件example.js。
cd?~ touch?example.js
使用vim編輯器打開項目文件example.js。
yum?install?vim vim?example.js
輸入 i,進入編輯模式,將以下項目文件內容粘貼到文件中。使用Esc按鈕,退出編輯模式,輸入:wq,回車,保存文件內容并退出。
項目文件內容:
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?Worldn'); }); server.listen(port,?hostname,?()?=>?{ console.log(`Server?running?at?http://${hostname}:${port}/`); });
注意:
項目文件內容中的3000為端口號,可以自行定義。
運行項目。
node?~/example.js
注意:
可以使用命令 node ~/example.js & 將項目置于后臺運行。
使用命令查看項目端口是否存在。
netstat?-tpln
登錄ECS管理控制臺,并在安全組中 添加安全組規則 放行端口(如本示例中為TCP 3000端口)。
(可選)如果您的實例中開啟了防火墻,必須添加端口的入站規則(如本示例中為TCP 3000端口)。
在本地機器的瀏覽器中輸入 http://實例公網IP地址:端口號 訪問項目。