1. 程式人生 > >vue+express+mongodb專案打包部署在雲伺服器上

vue+express+mongodb專案打包部署在雲伺服器上

Vue+express+mongodb專案打包部署在雲伺服器上

筆者所處前提:一臺安裝了node+mongodb+pm2的雲主機。相關安裝教程大家可自行網上搜索。
由於筆者買的是騰訊雲的學生伺服器(centos7),這裡就以它為例子。
第一:配置安全組。
在這裡插入圖片描述
在安全組中新建規則,選擇開放埠。
在這裡插入圖片描述
在新規則右側的管理例項中新增你的雲主機。然後修改規則,新增可能用到的埠。
在這裡插入圖片描述
第二:進入你的雲主機,檢查防火牆設定。
啟動服務:systemctl start firewalld.service
關閉服務:systemctl stop firewalld.service
檢視所有開啟的埠: firewall-cmd --zone=public --list-ports
新增埠:firewall-cmd --zone=public --add-port=80/tcp --permanent (-- permanent永久生效,沒有此引數重啟後失效)
重新整理一下防火牆:firewall-cmd --reload
再次檢視所有已開啟的埠。
防火牆的其他操作讀者們可自行百度。
這裡將express中listen的埠開放。


第三:打包部署。
將除了node_modules的其他專案檔案上傳至雲主機node伺服器下新建的一個資料夾中,這個資料夾可以專門用來裝你的node專案。這裡筆者用的winscp視覺化工具直接拖拽上傳。
在這裡插入圖片描述
進入專案目錄(cd vuemongo),我這裡是vuemongo,然後npm install 重新安裝node_modules模組,之所以這麼做是因為node_modules太大,上傳巨慢。
安裝完成後輸入 npm run build ,將生成的dist資料夾連同內容一起移入到你搭建http伺服器的那個js檔案的同級目錄中。
第四:express配置。

const express=require('express');
const path = require('path');
var app=express();
app.use(express.static(path.join(__dirname, 'dist')));
app.listen(3000);

這裡__dirname表示當前檔案所在專案下的目錄名,所以如果這麼寫,要把dist資料夾放在跟它同級目錄,否則可能會報404。
第五:pm2 啟動這個http服務。
在這裡插入圖片描述
pm2 start index.js
不出意外的話,應該就可以通過"公網ip:埠號"訪問此專案了。
筆者第一次寫部落格,如有錯誤或不足的地方非常歡迎讀者們指出。
這裡附上阮一峰大大的linux守護程序教程(裡面有pm2的介紹):http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html