CentOS7.2系統的雲伺服器ECS如何部署部署Node.js專案
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使用者 連線例項。
步驟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/nodeln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
-
檢視node、npm版本。
node -vnpm -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/noderm -f /usr/local/bin/npm
ln -s /opt/node/bin/node /usr/local/bin/nodeln -s /opt/node/bin/npm /usr/local/bin/npm
使用NVM安裝多版本
NVM(Node version manager)是Node.js的版本管理軟體,使使用者可以輕鬆在Node.js各個版本間進行切換。適用於長期做 node 開發的人員或有快速更新node版本、快速切換node版本這一需求的使用者。
安裝步驟:
NVM的更多操作請參考幫助文件:
nvm help
-
直接使用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/profilesource /etc/profile
-
列出Node.js的所有版本。
nvm list-remote
-
安裝多個Node.js版本。
nvm install v6.9.5nvm 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.0Now using node v7.4.0
步驟3:部署測試專案
-
新建專案檔案example.js。
cd ~
touch example.js -
使用vim編輯器開啟專案檔案example.js。
yum install vimvim 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 World `);
});
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埠)。
相關文章
- Laravel 專案部署到雲伺服器(CentOS 7 系統)Laravel伺服器CentOS
- 阿里雲伺服器部署django專案阿里伺服器Django
- 雲伺服器啟動部署springboot的專案伺服器Spring Boot
- 阿里雲ECS伺服器部署Dart服務端程式阿里伺服器Dart服務端
- 如何將專案部署到伺服器上伺服器
- 如何部署雲伺服器?伺服器
- 阿里雲部署nuxt專案阿里UX
- JAVA專案伺服器部署Java伺服器
- SpringBoot專案在linux系統中的部署(直接部署、外接tomcat中部署)以及配置httpsSpring BootLinuxTomcatHTTP
- Centos7系統部署django專案CentOSDjango
- 在Linux系統中部署NodeJS專案LinuxNodeJS
- 騰訊雲伺服器 Django專案部署 傻瓜式部署全流程 (一)伺服器Django
- 使用 node.js 釋出部署 vue 專案Node.jsVue
- 阿里雲伺服器部署web專案全過程阿里伺服器Web
- 把django專案部署到阿里雲伺服器流程Django阿里伺服器
- SpringBoot專案部署到阿里雲伺服器全流程Spring Boot阿里伺服器
- 深圳市恆訊科技分享:雲伺服器如何部署web專案?伺服器Web
- Java專案部署到雲伺服器最簡單的方法Java伺服器
- Djang專案部署阿里雲伺服器(四)之執行Django專案阿里伺服器Django
- Jenkins部署碼雲SpringBoot專案JenkinsSpring Boot
- 伺服器部署專案總結伺服器
- vue專案nginx伺服器部署VueNginx伺服器
- Linux系統安裝tomcat並部署專案。LinuxTomcat
- CRM系統本地部署和雲部署的優缺點
- vue專案部署到阿里雲伺服器(windows - Nginx代理)Vue阿里伺服器WindowsNginx
- vue專案部署到阿里雲伺服器(windows),Nginx代理!Vue阿里伺服器WindowsNginx
- OpenSUSE 伺服器系統部署伺服器
- 【轉載】阿里雲ECS centos7配置jdk-tomcat-mysql 並部署javaweb專案阿里CentOSJDKTomcatMySqlJavaWeb
- 如何把本地的Django專案部署到伺服器(親測)Django伺服器
- 如何將React專案,部署到Web伺服器的Tomcat 上ReactWeb伺服器Tomcat
- 雲伺服器如何部署Trojan代理?伺服器
- 雲伺服器centOS如何部署php伺服器CentOSPHP
- Python在Windows系統下基於Scrapyd部署爬蟲專案(本地部署)PythonWindows爬蟲
- 部署vue專案到Linux伺服器VueLinux伺服器
- 淺析Python專案伺服器部署Python伺服器
- 使用Intellij IDEA快速部署SpringBoot專案到阿里雲伺服器IntelliJIdeaSpring Boot阿里伺服器
- Node.js 專案部署流程(以阿里云為例)Node.js阿里
- 如何自動化部署專案?折騰伺服器之旅~伺服器