在滴滴云上使用 Easy-Mock 进行前后端数据联调

Why Easy Mock

前后端分离开发模式是目前常见的一种开发方式,双方在约定开发接口时,常见的约定方式一般有 Wiki 或 Markdown 文档约定,而请求的模拟数据则常常直接写在代码里,到联调时再更新接口请求 URL。或者利用 Charles、Fiddler 等代理工具拦截请求。

上述联调方式各有优劣势,有代码入侵和配置繁琐等各种问题。

Easy Mock 是一个可视化且能快速生成模拟数据的持久化服务。利用它我们可以:

  • 快速生成模拟数据
  • 有可视化界面进行项目管理
  • 支持接口代理、JSONP、团队协同编辑
    在这里插入图片描述

如何安装 Easy Mock

1. 准备滴滴云服务器

首先我们需要有一台云服务器来部署服务,可在滴滴云上进行购买。具体的购买步骤可参考帮助文档

下面我们看到的是已经购买好的云服务器。配置为 2核 4G, 系统为 CentOS7.6
在这里插入图片描述

购买完毕后,远程登录服务器,进行服务安装的安装与部署。以 dc2-user 的身份登录后,可以通过 sudo su 来切换至管理员身份进行安装。

2. 安装 Node

我们将 Node 服务安装在 /usr/local 目录下。经过实验,10.14.0 会有兼容性问题,这里我们安装 8.9.0 版本。

## 下载node
cd /usr/local/src
wget https://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-x64.tar.xz
## 解压
tar xf node-v8.9.0-linux-x64.tar.xz
cd /usr/local
## 重命名
mv src/node-v8.9.0-linux-x64 node

## 将node添加至path
vi ~/.bashrc
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
source ~/.bashrc

## 安装成功
node -v  // 安装成功会显示Node版本

3. 安装 MongoDB

cd /usr/local/src
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
cd /usr/local
mv src/mongodb-linux-x86_64-3.0.6 mongodb

## path
vi ~/.bashrc
export MONGO_HOME=/usr/local/mongodb
export PATH=$MONGO_HOME/bin:$PATH
source ~/.bashrc

下载完毕之后,创建配置文件并启动服务:

##  创建数据目录
mkdir /data
mkdir /data/mongo

## 创建配置文件
vi /data/mongo/mongodb.cnf

其中配置文件的内容如下:

## /data/mongo/mongodb.cnf
dbpath=/data/mongo/

logpath=/data/mongo/mongo.log

logappend=true

fork=true

port=27017

journal=true 

通过读取配置文件启动 MongoDB 服务:

## 配置文件方式启动mongo
mongod -f /data/mongo/mongodb.cnf

mongod -f /data/mongo/mongodb.cnf & (放到后台执行)

4. 安装 Redis

cd /usr/local/src
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make

Make 完后 redis-2.8.17 目录下会出现编译后的 Redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli,两个程序位于安装目录 src 目录下。

下面启动 Redis 服务:

cd src
./redis-server &

4. 部署服务

如果没有 Libra 目录就新建该目录,我们将应用放在/usr/libra目录下:

cd /usr/libra
git clone https://github.com/easy-mock/easy-mock.git
## 安装依赖
cd easy-mock && npm install
## 运行
[[email protected] easy-mock]# npm run dev

> [email protected] dev /usr/libra/easy-mock
> nodemon --ignore views/ --ignore public/ app

[nodemon] 1.14.11
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node app.js`
server started at http://0.0.0.0:7300

通过上面的部署,便可以访问 IP:7300端口访问 Easy Mock 的页面了。
在这里插入图片描述
在这里插入图片描述

npm run dev 命令会进行热更新,对于开发者体验较好,如果有代码改动会重新 load,马上生效。

如果需要部署稳定的生产版本,可根据 GitHub 文档部署生产版本。还可以通过 PM2 在后台运行该 Node 服务。

## 安装pm2 
npm install -g pm2
## 使用pm2 运行全需要先build
npm run build
NODE_ENV=production pm2 start app.js

常见问题

Node 版本太高 (10.14.0 ),导致运行时候报错,最好安装 8.9.x 的 Node 版本。

Error: listen EADDRINUSE 0.0.0.0:7300
    at Server.setupListenHandle [as _listen2] (net.js:1334:14)
    at listenInCluster (net.js:1382:12)
    at doListen (net.js:1508:7)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
Emitted 'error' event at:
    at emitErrorNT (net.js:1361:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    [... lines matching original stack trace ...]
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
[nodemon] app crashed - waiting for file changes before starting...

猜你喜欢

转载自blog.csdn.net/java060515/article/details/85000958
今日推荐