駐云科技2017-05-11 17:46:43瀏覽2999評論3發(fā)表于:阿里云服務(wù)>>最佳實踐
云棲社區(qū)linux分布式javascriptHTTPSECS云服務(wù)器httpjscentosnodealiyungit
摘要:Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境撼玄,用來方便地搭建快速的易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用哺眯。Node.js 使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效,非常適合運(yùn)行在分布式設(shè)備的數(shù)據(jù)密集型的實時應(yīng)用。
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,用來方便地搭建快速的易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用了一個事件驅(qū)動叹誉、非阻塞式 I/O 的模型,使其輕量又高效闷旧,非常適合運(yùn)行在分布式設(shè)備的數(shù)據(jù)密集型的實時應(yīng)用长豁。Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)忙灼。
典型的應(yīng)用場景包括:
實時應(yīng)用:如在線聊天蕉斜,實時通知推送等等(如socket.io)
分布式應(yīng)用:通過高效的并行I/O使用已有的數(shù)據(jù)
工具類應(yīng)用:海量的工具,小到前端壓縮部署(如grunt)缀棍,大到桌面圖形界面應(yīng)用程序
游戲類應(yīng)用:游戲領(lǐng)域?qū)崟r和并發(fā)有很高的要求(如網(wǎng)易的pomelo框架)
利用穩(wěn)定接口提升Web渲染能力
前后端編程語言環(huán)境統(tǒng)一:前端開發(fā)人員可以非痴耍快速地切入到服務(wù)器端的開發(fā)(如著名的純Javascript全棧式MEAN架構(gòu))
接下來我們將要介紹如何在阿里云ECS中部署Node.js項目。
部署流程
部署之前爬范,請做如下準(zhǔn)備工作:
購買ECS實例
實例運(yùn)行的鏡像是CentOS7.2
實例可以連接公網(wǎng)
本地已經(jīng)安裝用于連接 Linux 實例的工具父腕,如Xshell
使用云服務(wù)器 ECS 安裝Nodejs并部署項目的操作步驟如下:
購買 ECS 實例。
部署Node.js環(huán)境-二進(jìn)制文件安裝青瀑。
部署Node.js環(huán)境-使用NVM安裝多版本璧亮。
部署測試項目。
注:2和3步驟斥难,根據(jù)實際應(yīng)用場景枝嘶,任選其一。
操作步驟
步驟 1:創(chuàng)建ECS實例
選擇操作系統(tǒng)為公共鏡像CentOS7.2哑诊。使用root用戶登錄Linux實例群扶。
步驟2:部署Node.js環(huán)境--二進(jìn)制文件安裝
該部署過程使用的安裝包是已編譯好的二進(jìn)制文件,解壓之后,在bin文件夾中就已存在node和npm竞阐,無需手工編譯缴饭。
安裝步驟:
1、 wget命令下載Node.js安裝包骆莹。
該安裝包是編譯好的文件颗搂,解壓之后,在bin文件夾中就已存在node和npm幕垦,無需重復(fù)編譯丢氢。
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
2、 解壓文件先改。
tar xvfnode-v6.9.5-linux-x64.tar.xz
3疚察、創(chuàng)建軟鏈接,使node和npm命令全局有效盏道。
通過創(chuàng)建軟鏈接的方法稍浆,使得在任意目錄下都可以直接使用node和npm命令:
ln -s /root/node-v6.9.5-linux-x64/bin/node/usr/local/bin/nodeln-s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
4载碌,查看node猜嘱、npm版本。
node-vnpm -v
5嫁艇、至此朗伶,Node.js環(huán)境已安裝完畢。
軟件默認(rèn)安裝在/root/node-v6.9.5-linux-x64/目錄下步咪。如果需要將該軟件安裝到其他目錄(如:/opt/node/)下论皆,請進(jìn)行如下操作:
mkdir -p /opt/node/
mv/root/node-v6.9.5-linux-x64/* /opt/node/
rm-f /usr/local/bin/noderm-f /usr/local/bin/npmln -s /opt/node/bin/node/usr/local/bin/nodeln-s /opt/node/bin/npm /usr/local/bin/npm
步驟3:部署Node.js環(huán)境-使用NVM安裝多版本
NVM(Node version manager)是Node.js的版本管理軟件,使用戶可以輕松在Node.js各個版本間進(jìn)行切換猾漫。適用于長期做 node 開發(fā)的人員或有快速更新node版本点晴、快速切換node版本這一需求的用戶。
安裝步驟:
1悯周、直接使用git將源碼克隆到本地的~/.nvm目錄下粒督,并檢查最新版本。
yum install gitgit clone https://github.com/cnpm/nvm.git ~/.nvm &&cd~/.nvm && git checkout `git describe --abbrev=0--tags`
2禽翼、激活NVM屠橄。
echo". ~/.nvm/nvm.sh">> /etc/profilesource/etc/profile
3、列出Node.js的所有版本闰挡。
nvmlist-remote
4锐墙、安裝多個Node.js版本。
nvminstallv6.9.5nvminstallv7.4.0
5长酗、查看已安裝Node.js版本溪北,當(dāng)前使用的版本為v6.9.5。
[root@iZuf62didsxigy36d6kjtrZ .nvm]#nvmls->v6.9.5v7.4.0
6、切換Node.js版本至v7.4.0刻盐。
[root@iZuf62didsxigy36d6kjtrZ .nvm]# nvm use v7.4.0Now usingnodev7.4.0
NVM的更多操作請參考幫助文檔:
nvmhelp
步驟4:部署測試項目
1掏膏、新建項目文件example.js。
cd~
touchexample.js
2敦锌、使用vim編輯器打開項目文件example.js馒疹。
yum installvimvimexample.js
輸入“i”,進(jìn)入編輯模式,將以下項目文件內(nèi)容粘貼到文件中乙墙。使用“Esc”按鈕颖变,退出編輯模式,輸入“:wq”听想,回車腥刹,保存文件內(nèi)容并退出。
項目文件內(nèi)容:
consthttp =require('http');consthostname ='ECS公網(wǎng)IP地址';constport =3000;constserver = 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}/`);});
注:項目文件內(nèi)容中的'ECS公網(wǎng)IP地址'處需填寫實際的ECS公網(wǎng)IP汉买;項目文件內(nèi)容中的3000為端口號衔峰,可以自行定義。
3蛙粘、運(yùn)行項目垫卤。
node~/example.js
注:可以使用命令“node ~/example.js &”將項目置于后臺運(yùn)行。
4出牧、使用命令查看項目端口是否存在穴肘。
netstat -tpln
5、在瀏覽器中輸入http://IP:端口號 訪問項目舔痕。
到這里我們的Node.js項目就部署完成了评抚。
駐云科技成立于2013年,是中國少數(shù)幾家業(yè)務(wù)完全基于云計算技術(shù)的服務(wù)型公司伯复。駐云基于公共云計算技術(shù)慨代,幫助廣大企業(yè)選擇真正適合其業(yè)務(wù)需要的云計算及大數(shù)據(jù)產(chǎn)品。
駐云科技作為阿里云的生態(tài)服務(wù)合作伙伴啸如,將會把服務(wù)中的案例和最佳實踐沉淀在這里侍匙,歡迎大家踴躍交流 ~
相關(guān)鏈接
用戶可通過云中沙箱平臺體驗上述文檔中的操作,點擊此處组底。
更多開源軟件盡在云市場丈积,點擊此處.
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載债鸡,如需轉(zhuǎn)載請發(fā)送郵件至yqeditor@list.alibaba-inc.com江滨;如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com 進(jìn)行舉報厌均,并提供相關(guān)證據(jù)唬滑,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。