背景:
easy-mock 是常用的mock数据网站, 但是随着用户越来越多,easy-mock的接口响应速度有点时候会很慢(也跟本地网络环境有关),而且接口也不稳定,时不时就挂了。。。
需求:
公司里有一台专门搭建内网服务器的机子,供开发者使用,所以想把easy-mock部署到本地,这样接口的稳定性和响应速度得到了保证,而且对团队开发也很有帮助。
实施:
首先先看easy-mock本地部署的官方介绍,https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md.官网介绍的步骤,大致分为以下几步:
- 安装 node(>=v8.9) & MongoDB(>=v3.4) & Redis(>=v4.0)
- 安装 easy-mock,更改配置文件
- 启动 easy-mock,测试项目是否可以正常启动,能的话就可以先 Ctrl + C了
- 启动 MongoDB 和 Redis
- npm run build,然后用 PM2 启动 app.js
1.先装node
这一步不多讲了,之前有一篇nvm版本管理和nrm下载源管理讲到了如何安装管理node版本和npm下载源。我用的是8.15.0,已经放到公司服务器上,
2.安装MongoDB
- 安装包: 百度链接:https://pan.baidu.com/s/1M7HhtTRW8fE1Oknb0o4TgA 提取码:kz8x
- win版MongoDB安装教程
- MongoDB配置环境变量里面写的不清楚,我在这里重写下,
MONGO_HOME = C:\Program Files\MongoDB\Server\3.4\bin
Path = %MONGO_HOME%
- 推荐使用可视化工具管理数据库,清晰明了,我现找了一个,全是英文看不懂,但也能凑活用了,如果有更好的希望推荐下。
- 教程网址Robo 3T,mongoDB可视化工具
3.安装redis
- 可以直接从https://redis.io/download下载安装包,解压到根目录下面的 opt 文件夹下, 可以根据自己的需求改动 redis.conf 文件,然后输入命令 redis-server,就可以正常启动 redis 了。上面的百度链接里面也有压缩包。
4.安装easy-mock
- 最后要安装的就是 easy-mock,git clone 下来,然后 npm install,安装依赖,npm run dev启动项目,config/default.json 可以自定义的配置,当然不配置倒也没关系,easy-mock会自动使用 MongoDB 和 redis,不需要其他操作。easy-mock 会默认启动在 7300 下面,打开服务器的ip+port,查看 easy-mock 是否正常启动,正常启动了说明安装阶段大功告成!
- 自定义配置:在--config下创建local.json文件,
{
"port": 7300, //easymock项目启动的端口
"host": "0.0.0.0",
"pageSize": 30,
"proxy": false,
"db": "mongodb://localhost/easy-mock", // 不需要自己新建数据库,在启动的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
- 启动
pm2 start app.js -i 4
- 查看
pm2 list
- 访问ip+port
http://192.168.1.6:7300
windows下配置pm2开机自动开启服务
- 安装并配置pm2-windows-service
npm i -g pm2-windows-service
- 添加.pm2的系统环境变量
PM2_HOME=C:\Users\zhtop.pm2(路径默认在当前用户下的.pm2)
- 以管理员权限打开新的cmd命令行窗口,执行以下命令来安装服务
pm2-service-install
-
提示Perform environment setup ? 选 n, 继续,此时, PM2服务已安装成功并已启动, 可以通过 [win + r] - [ services.msc] 来查看,服务名称为PM2
- 运行程序
pm2 start app.js -n MongoDBserve
pm2 save
(pm2 save 很重要, 它保存当前pm2 正在管理的NodeJS服务, 并在开机后恢复这些服务,保存路径为系统环境变量设置的PM2_HOME路径。)
至此,开机自动启动完成。
查看代码运行状态
pm2 monit
从此再也不用担心easy-mock官网不定时的崩掉了
参考网址
easy-mock 本地部署过程
Easy Mock部署使用
使用pm2自动化部署node项目
windows下配置pm2开机自动开启服务
网友评论