背景:
easy-mock 是常用的mock數(shù)據(jù)網(wǎng)站, 但是隨著用戶(hù)越來(lái)越多,easy-mock的接口響應(yīng)速度有點(diǎn)時(shí)候會(huì)很慢(也跟本地網(wǎng)絡(luò)環(huán)境有關(guān)),而且接口也不穩(wěn)定,時(shí)不時(shí)就掛了。。。
需求:
公司里有一臺(tái)專(zhuān)門(mén)搭建內(nèi)網(wǎng)服務(wù)器的機(jī)子,供開(kāi)發(fā)者使用,所以想把easy-mock部署到本地,這樣接口的穩(wěn)定性和響應(yīng)速度得到了保證,而且對(duì)團(tuán)隊(duì)開(kāi)發(fā)也很有幫助。
實(shí)施:
首先先看easy-mock本地部署的官方介紹,https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md.官網(wǎng)介紹的步驟,大致分為以下幾步:
- 安裝 node(>=v8.9) & MongoDB(>=v3.4) & Redis(>=v4.0)
- 安裝 easy-mock,更改配置文件
- 啟動(dòng) easy-mock,測(cè)試項(xiàng)目是否可以正常啟動(dòng),能的話(huà)就可以先 Ctrl + C了
- 啟動(dòng) MongoDB 和 Redis
- npm run build,然后用 PM2 啟動(dòng) app.js
1.先裝node
這一步不多講了,之前有一篇nvm版本管理和nrm下載源管理講到了如何安裝管理node版本和npm下載源。我用的是8.15.0,已經(jīng)放到公司服務(wù)器上,
2.安裝MongoDB
- 安裝包: 百度鏈接:https://pan.baidu.com/s/1M7HhtTRW8fE1Oknb0o4TgA 提取碼:kz8x
- win版MongoDB安裝教程
- MongoDB配置環(huán)境變量里面寫(xiě)的不清楚,我在這里重寫(xiě)下,
MONGO_HOME = C:\Program Files\MongoDB\Server\3.4\bin
Path = %MONGO_HOME%
- 推薦使用可視化工具管理數(shù)據(jù)庫(kù),清晰明了,我現(xiàn)找了一個(gè),全是英文看不懂,但也能湊活用了,如果有更好的希望推薦下。
- 教程網(wǎng)址Robo 3T,mongoDB可視化工具
3.安裝redis
- 可以直接從https://redis.io/download下載安裝包,解壓到根目錄下面的 opt 文件夾下, 可以根據(jù)自己的需求改動(dòng) redis.conf 文件,然后輸入命令 redis-server,就可以正常啟動(dòng) redis 了。上面的百度鏈接里面也有壓縮包。
4.安裝easy-mock
- 最后要安裝的就是 easy-mock,git clone 下來(lái),然后 npm install,安裝依賴(lài),npm run dev啟動(dòng)項(xiàng)目,config/default.json 可以自定義的配置,當(dāng)然不配置倒也沒(méi)關(guān)系,easy-mock會(huì)自動(dòng)使用 MongoDB 和 redis,不需要其他操作。easy-mock 會(huì)默認(rèn)啟動(dòng)在 7300 下面,打開(kāi)服務(wù)器的ip+port,查看 easy-mock 是否正常啟動(dòng),正常啟動(dòng)了說(shuō)明安裝階段大功告成!
- 自定義配置:在--config下創(chuàng)建local.json文件,
{
"port": 7300, //easymock項(xiàng)目啟動(dòng)的端口
"host": "0.0.0.0",
"pageSize": 30,
"proxy": false,
"db": "mongodb://localhost/easy-mock", // 不需要自己新建數(shù)據(jù)庫(kù),在啟動(dòng)的easymock新建接口即可
"unsplashClientId": "",
"redis": {
"port": 6379, //redis端口
"host": "localhost"
},
"blackList": {
"projects": [], // projectId,例:"5a4495e16ef711102113e500"
"ips": [] // ip,例:"127.0.0.1"
},
"rateLimit": { // https://github.com/koajs/ratelimit
"max": 1000,
"duration": 1000
},
"jwt": {
"expire": "14 days",
"secret": "shared-secret"
},
"upload": {
"types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
"size": 5242880,
"dir": "../public/upload",
"expire": {
"types": [".json", ".yml", ".yaml"],
"day": -1
}
},
"fe": {
"copyright": "",
"storageNamespace": "easy-mock_",
"timeout": 25000,
"publicPath": "/dist/"
}
}
5.部署階段:
- 全局安裝pm2
npm install pm2 -g
- 編譯easy-mock文件
npm run build
- 啟動(dòng)
pm2 start app.js -i 4
- 查看
pm2 list
- 訪(fǎng)問(wèn)ip+port
http://192.168.1.6:7300
windows下配置pm2開(kāi)機(jī)自動(dòng)開(kāi)啟服務(wù)
- 安裝并配置pm2-windows-service
npm i -g pm2-windows-service
- 添加.pm2的系統(tǒng)環(huán)境變量
PM2_HOME=C:\Users\zhtop.pm2(路徑默認(rèn)在當(dāng)前用戶(hù)下的.pm2)
- 以管理員權(quán)限打開(kāi)新的cmd命令行窗口,執(zhí)行以下命令來(lái)安裝服務(wù)
pm2-service-install
-
提示Perform environment setup ? 選 n, 繼續(xù),此時(shí), PM2服務(wù)已安裝成功并已啟動(dòng), 可以通過(guò) [win + r] - [ services.msc] 來(lái)查看,服務(wù)名稱(chēng)為PM2
- 運(yùn)行程序
pm2 start app.js -n MongoDBserve
pm2 save
(pm2 save 很重要, 它保存當(dāng)前pm2 正在管理的NodeJS服務(wù), 并在開(kāi)機(jī)后恢復(fù)這些服務(wù),保存路徑為系統(tǒng)環(huán)境變量設(shè)置的PM2_HOME路徑。)

至此,開(kāi)機(jī)自動(dòng)啟動(dòng)完成。
查看代碼運(yùn)行狀態(tài)
pm2 monit
從此再也不用擔(dān)心easy-mock官網(wǎng)不定時(shí)的崩掉了
參考網(wǎng)址
easy-mock 本地部署過(guò)程
Easy Mock部署使用
使用pm2自動(dòng)化部署node項(xiàng)目
windows下配置pm2開(kāi)機(jī)自動(dòng)開(kāi)啟服務(wù)


