雲棲社群 linux 分散式 javascript HTTPS ECS 雲伺服器 http js centos node aliyun git
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境,用來方便地搭建快速的易於擴充套件的網路應用。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效,非常適合執行在分散式裝置的資料密集型的實時應用。- 實時應用:如線上聊天,實時通知推送等等(如socket.io)
- 分散式應用:通過高效的並行I/O使用已有的資料
- 工具類應用:海量的工具,小到前端壓縮部署(如grunt),大到桌面圖形介面應用程式
- 遊戲類應用:遊戲領域對實時和併發有很高的要求(如網易的pomelo框架)
- 利用穩定介面提升Web渲染能力
- 前後端程式語言環境統一:前端開發人員可以非常快速地切入到伺服器端的開發(如著名的純Javascript全棧式MEAN架構)
接下來我們將要介紹如何在阿里雲ECS中部署Node.js專案。
部署流程
使用雲伺服器 ECS 安裝Nodejs並部署專案的操作步驟如下:
操作步驟
步驟 1:建立ECS例項
選擇作業系統為公共映象CentOS7.2。使用root使用者登入Linux例項。
步驟2:部署Node.js環境--二進位制檔案安裝
該部署過程使用的安裝包是已編譯好的二進位制檔案,解壓之後,在bin資料夾中就已存在node和npm,無需手工編譯。
安裝步驟:
該安裝包是編譯好的檔案,解壓之後,在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命令:
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 -v
npm -v
複製程式碼
軟體預設安裝在/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
複製程式碼
步驟3:部署Node.js環境-使用NVM安裝多版本
1、直接使用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
複製程式碼
nvm list-remote
複製程式碼
nvm install v6.9.5
nvm install v7.4.0
複製程式碼
5、檢視已安裝Node.js版本,當前使用的版本為v6.9.5。
[root@iZuf62didsxigy36d6kjtrZ .nvm]# nvm ls
-> v6.9.5
v7.4.0
複製程式碼
[root@iZuf62didsxigy36d6kjtrZ .nvm]# nvm use v7.4.0
Now using node v7.4.0
複製程式碼
nvm help
複製程式碼
步驟4:部署測試專案
cd ~
touch example.js
複製程式碼
yum install vim
vim example.js複製程式碼
輸入“i”,進入編輯模式,將以下專案檔案內容貼上到檔案中。使用“Esc”按鈕,退出編輯模式,輸入“:wq”,回車,儲存檔案內容並退出。
const http = require('http');
const hostname = 'ECS公網IP地址';
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}/`);
});
複製程式碼
注:專案檔案內容中的'ECS公網IP地址'處需填寫實際的ECS公網IP;專案檔案內容中的3000為埠號,可以自行定義。
node ~/example.js
複製程式碼
注:可以使用命令“node ~/example.js &”將專案置於後臺執行。
駐雲科技成立於2013年,是中國少數幾家業務完全基於雲端計算技術的服務型公司。駐雲基於公共雲端計算技術,幫助廣大企業選擇真正適合其業務需要的雲端計算及大資料產品。
駐雲科技作為阿里雲的生態服務合作伙伴,將會把服務中的案例和最佳實踐沉澱在這裡,歡迎大家踴躍交流 ~