easy-mock 本地部署过程

背景:easy-mock 大家都知道,常用的 mock 数据网站,但是随着用户越来越多,easy-mock的接口响应速度有点时候会很慢(也跟本地网络环境有关),而且接口也不稳定,时不时就挂了。。。

需求:因为公司正好有docker机,供开发者自己使用,所以想到了把 easy-mock 部署到本地,这样接口的稳定性和响应速度得到了保证,而且对团队开发也很有帮助。

实施:首先先看easy-mock本地部署的官方介绍,https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md。官方介绍的简洁明了,大致分为下面几步:

  1. 安装 node(>=v8.9) & MongoDB(>=v3.4) & Redis(>=v4.0)
  2. 安装 easy-mock,更改配置文件
  3. 启动 easy-mock,测试项目是否可以正常启动,能的话就可以先 Ctrl + C了
  4. 启动 MongoDB 和 Redis
  5. npm run build,然后用 PM2 启动 app.js

先安装 node,这一步不多讲了,说一下版本,我用的是8.12.0,亲测没问题,个人建议安装 8.x 的版本,10.x 的虽然 LTS 了,不过有同事说用 10.x 装的时候出现了问题,又回退了版本。。。

安装 MongoDB,网址:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/。我是用的这种方法安装的:

easy-mock 本地部署过程_第1张图片
MongoDB 安装

安装完成之后,输入命令:mongod,测试是否开启数据库,默认的端口是 27017,我的环境报了几个warning,但是不影响整个进程,没有关注。

然后安装 redis,直接从 https://redis.io/download,下载安装包,解压到根目录下面的 opt 文件夹下, 可以根据自己的需求改动 redis.conf 文件,然后输入命令 redis-server,就可以正常启动 redis 了。

最后要安装的就是 easy-mock,git clone 下来,然后 npm install,安装依赖,npm run dev启动项目,config/default.json 可以自定义的配置,当然不配置倒也没关系,easy-mock会自动使用 MongoDB 和 redis,不需要其他操作。easy-mock 会默认启动在 7300 下面,打开服务器的ip+port,查看 easy-mock 是否正常启动,正常启动了说明安装阶段大功告成!

到了部署阶段:
首先 close 掉刚才开启的 MongoDB 和 redis, 然后使用 nohup & 的方式后台启动 mock ,这样就在服务器上自己跑这两个了,命令:

nohup mongod -fork -dbpath path &

注意两点:

  1. fork 配置的作用是,自动将 mongod 进程挂到 init 进程下,详细参考:https://blog.csdn.net/shawyeok/article/details/46486683。
  2. dbpath 配置的 MongoDB 的数据存储目录,建议指定一个专门存储数据的文件夹内,防止误删。

后台启动 redis :

nohup redis-server &

我这里的 redis-server 是一个软链,相当于打开 /opt/redis/redis-server,大家可以设置一个软链,方便使用。

最后用 PM2 启动 easy-mock,没有 PM2 的话先全部安装,然后进到 easy-mock 的项目下面运行命令:

NODE_ENV=production pm2 start app.js

启动成功后,会出现 PM2 的进程列表


PM2

打开 服务器ip+port,查看 easy-mock 是否启动,启动成功后,在命令行中输入 netstat -ntlp,查看所有正在使用的端口:

easy-mock 本地部署过程_第2张图片
netstat -ntlp

可以看到 MongoDB、redis、easy-mock 三个进程都正常启动,部署阶段也大功告成了!

总的来说,过程不算很困难,都是安装和使用。对于前端慢慢往服务端深入的过程还是有很大帮助的。

你可能感兴趣的:(easy-mock 本地部署过程)