easy-mock 本地部署 官方容易出错集合

一、Easy Mock 是什么?官方的介绍是这样的

Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务。

更多详细信息请翻阅官方文档 easy-mock

二、特性

  1. 支持接口代理
  2. 支持快捷键操作
  3. 支持协同编辑
  4. 支持团队项目
  5. 支持 RESTful
  6. 支持 Swagger | OpenAPI Specification (1.2 & 2.0 & 3.0)
    1)基于 Swagger 快速创建项目
    2)支持显示接口入参与返回值
    3)支持显示实体类
  7. 支持灵活性与扩展性更高的响应式数据开发
  8. 支持自定义响应配置(例:status/headers/cookies)
  9. 支持 Mock.js 语法
  10. 支持 restc 方式的接口预览

三、为什么要自己部署Easy Mock 项目呢

easy mock 是免费的开源项目,是完全免费的,你说全国人民都在用,一般不收费的系统怎么样的起来这,这么庞大的数据量;其次用的人太多,导致官网经常瘫痪,你能连上真的是说明你人品爆表。好在官方把源码开放出来,提供了我们 2种 部署的方式,下面我会一一介绍,并且把容易出错的点给大家标出,毕竟笔者当初一个坑接着一个坑踩出来的,还是希望大家能少走点弯路吧。

四、快速开始

在开始之前,假设你已经成功安装了 Node.js(v8.x, 不支持 v10.x)& MongoDB(>= v3.4)& Redis(>= v4.0)。

注意事项

Nodejs 一定要是 v8.x 的,我曾经在这坑了好久,都是以前粗心习惯了,阅读文档没有仔细看,最后还是在论坛中找到原因的,希望大家不要在犯同样的错误了

1)安装

$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install

2)更改配置文件

找到 config/default.json,或者创建一个 config/local.json 文件,将如下需要替换的字段换成自己的配置即可。

不同环境会加载不同的配置文件,在此之前你应该对 node-config 有所了解。不懂得可以去查阅官方文档。

下面贴上官方给的配置文件,即 default.json,只需把 localhost 改成自己的 IP 地址即可

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://localhost/easy-mock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "localhost",
    "password": "",
    "db": 0
  },
  "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
    }
  },
  "ldap": {
    "server": "", // 设置 server 代表启用 LDAP 登录。例:"ldap://localhost:389" 或 "ldaps://localhost:389"(使用 SSL)
    "bindDN": "", // 用户名,例:"cn=admin,dc=example,dc=com"
    "password": "",
    "filter": {
      "base": "", // 查询用户的路径,例:"dc=example,dc=com"
      "attributeName": "" // 查询字段,例:"mail"
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}

3)背景图配置(也可以不更改)

登录页的背景图服务目前支持 UnsplashBing
如果 unsplashClientId 配置留空,默认由 Bing 提供服务。

4)注意事项

publicPath 默认是 '/dist/'。如有需要,可以将其替换成自己的 CDN;
关于 fe 的配置,一旦发生改变应该重新执行 build 命令。

5)启动

$ npm run dev
# 访问 http://127.0.0.1:7300

6)更多命令

# 前端静态资源构建打包
$ npm run build

# 以生产环境方式启动,需要提前执行 build
$ npm run start

# 单元测试
$ npm run test

# 语法检测
$ npm run lint

五、服务器部署

在此之前请先配置好配置文件。

全局安装 PM2

$ npm install pm2 -g

使用pm2 托管 easy-mock

# 在此之前,你应该已经完成了 build。
$ NODE_ENV=production pm2 start app.js

六、docker方式安装与部署

首先在命令行输入

$ docker --version

确保你所持有的服务器是安装了docker
如果没有请去官网查看不同环境的安装方式 安装docker

1)新建目录

$ mkdir docker-easy-mock

2)复置default.json

假设你已经在 easy-mock/config/ 目录下

$ cp default.json production.json

3)编辑production.json

$ vim production.json

需要改动2个地方

 "db": "mongodb://mongodb/easy-mock",  # host 请务必替换为mongodb, 而非 localhost
 "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "redis", # 请勿使用 localhost,换 "redis"
    "password": "",
    "db": 0
  },

3)创建 docker-compose 配置文件

$ touch docker-compose.yml

4)编辑配置文件

$ vim docker-compose.yml 
version: '3'

services:
  mongodb:
    image: mongo:3.4.1
    volumes:
      # ./data/db 数据库文件存放地址,根据需要冒号后面修改为本地地址
      - './data/db:/data/db'
    networks:
      - easy-mock
    restart: always

  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      # ./data/redis redis 数据文件存放地址,根据需要冒号后面修改为本地地址
      - './data/redis:/data'
    networks:
      - easy-mock
    restart: always

  web:
    image: easymock/easymock:1.6.0
    command: /bin/bash -c "npm start"
    ports:
      - 7300:7300
    volumes:
      # 日志地址,根据需要把冒号后面修改为本地地址
      - './logs:/home/easy-mock/easy-mock/logs'
      # 配置地址, 把冒号后面使用本地配置地址替换
      - './production.json:/home/easy-mock/easy-mock/config/production.json'
    networks:
      - easy-mock
    restart: always

networks:
  easy-mock:

然后将内容中注释位置替换为自己需要的本地地址即可。主要有4个需要替换的地方,mangodbredis数据库文件存储位置,日志文件存储位置,自定义配置文件本地地址。

5)使用方式

  • 安装 docker-compose

我还是推荐大家使用pip安装,官方虽然推荐使用二进制安装方式,但是我下了十几个小时,愣是没一点反应,最后只好使用pip来安装。

$ [sudo] pip install -U docker-compose

我就喜欢看见 Successfully,可以看到类似如下输出,说明安装成功。

Collecting docker-compose
  Downloading docker-compose-1.24.1.tar.gz (149kB): 149kB downloaded
...
Successfully installed docker-compose cached-property requests texttable websocket-client docker-py dockerpty six enum34 backports.ssl-match-hostname ipaddress
  • 启动项目

docker-easy-mock 文件夹下执行以下命令

$ docker-compose up -d

-d 是不显示安装详情,只显示进度,等待安装完成
安装完成之后在浏览器打开 ip:7300 就可以了

  • 如果遇到 easymock docker 实例报文件权限错误

Error: EACCES: permission denied....

可在项目根目录执行以下命令

chmod 777 /你的文件路径/logs

如果还有什么问题可以在下面评论哦,有问题我们可以一同解决
另外,习惯了使用windows系统,真的很讨厌使用linux这种命令行的方式来执行,大家可以参考我的另一篇文章,linux图形化服务器面板,开箱即用,妈妈再也不用担心我的学习了,哪里不会点哪里,再菜的鸟看了这篇文章也能够立马学会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值