文档章节

本地安装Easy-Mock服务

人中泰迪
 人中泰迪
发布于 08/02 20:31
字数 1367
阅读 57
收藏 0

本地安装Easy-Mock服务

方法一:直接安装

###一、安装步骤

1.1 安装NodeJs

(1)nodeJs_v8.11.1下载

注意必须安装v8.11.1版本,v10版本一直报错,官方issue也有相关解答

(2)解压xz文件

xz ‐d node‐v8.11.1‐linux‐x64.tar.xz

(3)解压tar文件

tar ‐xvf node‐v8.11.1‐linux‐x64.tar

(4)目录重命名

mv node‐v8.11.1‐linux‐x64 node

(5)移动目录到/usr/local下

mv node /usr/local/

(6)配置环境变量

 vi /etc/profile

末尾添加以下内容:

#set for nodejs
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

执行命令让环境变量生效

source /etc/profile

查看node版本看是否安装成功

node ‐v

1.2 安装MongoDB

使用docker安装,省略,mongo版本要大于等于3.4,需要配置端口号为27017,同时将数据文件夹映射到指定目录

#docker-compose.yml配置,参考配置相关参数即可
  mongodb:
    image: mongo:4.1.5
    volumes:
      - type: bind
        source: /usr/local/use_data/mongodb/easymock
        target: /data/db
    ports:
      - 27017:27017

1.3 安装redis

使用docker安装

#docker-compose.yml配置,参考配置相关参数即可
  redis:
    image: redis:latest
    command: redis-server --appendonly yes
    volumes:
      - type: bind
        source: /usr/local/use_data/redis/easymock
        target: /data
    ports:
      - 6379:6379

###1.4 安装easy-mock

使用git下载项目文件

(1)安装git

yum install git

(2)下载代码

mkdir /usr/local/easymock
cd /usr/local/easymock
git clone https://github.com/easy-mock/easy-mock.git

(3)安装依赖

npm install

可能会出现的错误:

  1. gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/use_software/easy-mock/node_modules/dtrace-provider/.node-gyp"

    gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/local/use_software/easy-mock/node_modules/dtrace-provider/.node-gyp/8.11.1"

    stackoverflow解释

    解决方法:使用以下命令

    npm install --unsafe-perm
    

(4)运行测试

如果使用mongo数据库和redis数据库地址端口号有变化需要修改配置文件

在项目config文件夹下的default.json文件,也可以根据不同的环境新建production.json,dev.json配置,在pm2使用NODE_ENV=production参数启用配置

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://localhost/easy-mock", #mongo数据库地址
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379, #redis端口号
    "host": "localhost", #ip地址
    "password": "", #密码
    "db": 0 #db数据库
  },
  "blackList": {
    "projects": [],
    "ips": []
  },
  "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": "",
    "bindDN": "",
    "password": "",
    "filter": {
      "base": "",
      "attributeName": ""
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}
npm run dev

==记得关闭防火墙==(centos7):

systemctl stop firewalld

访问ip:7300是否显示easymock登录页

ctrl+c关闭easymock服务

(5)静态资源打包

npm run build

(5)服务部署

  1. 全局安装PM2

    npm install pm2 -g
    
  2. 使用PM2启动

    NODE_ENV=production pm2 start app.js
    

    在此之前,你应该已经执行npm run build命令

    成功界面

方法二:docker安装

一、安装步骤

1.1 安装docker

略...

1.2 打开easy-mock镜像地址

DockerHub镜像地址

(1)拉取easy-mock镜像,也可以不拉取,docker-compose会自动拉取

docker pull docker pull easymock/easymock:1.6.0

如果拉取镜像卡住,说明官方的镜像网路不太好,建议使用daocloud的镜像地址

Docker设置国内镜像

1.3 安装docker compose

官方地址

1.3.1 下载docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1.3.2 赋予执行权限

sudo chmod +x /usr/local/bin/docker-compose

1.3.3 测试安装成功与否

$ docker-compose --version
docker-compose version 1.24.1, build 1110ad01

1.4 编写docker-compose脚本

1.4.1 新建文件

touch docker-compose.yml

####1.4.2 编辑文件

vim docker-compose.yml

1.4.3复制以下内容到文件中

#docker-compose.yml
version: "3.6" #docker-compose文件和docker关联版本号
services:
  mongodb:
    image: mongo:3.4
    volumes:
      - type: bind
        source: /usr/local/use_data/mongodb/easymock #挂载mongo文件到宿主机中
        target: /data/db
    ports:
      - 27017:27017 #端口映射
  redis:
    image: redis:latest
    command: redis-server --appendonly yes
    volumes:
      - type: bind
        source: /usr/local/use_data/redis/easymock #挂载redis文件到宿主机中
        target: /data
    ports:
      - 6379:6379
  web:
    image: easymock/easymock:1.6.0
    command: /bin/bash -c "npm start"
    links:
      - mongodb:mongodb
      - redis:redis
    ports:
      - 7300:7300
    volumes:
      - type: bind 
        source: /usr/local/use_data/easy-mock/logs #挂载log文件到宿主机中
        target: /home/easy-mock/easy-mock/logs
      - type: bind
        source: /usr/local/use_data/easy-mock/config/production.json #挂载配置文件到宿主机中
        target: /home/easy-mock/easy-mock/config/production.json
        

注意事项 :

  1. docker-compose和docker版本映射关系

  2. 高版本切换低版本mongo数据库时记得清空/usr/local/use_data/mongodb/easymock数据文件

1.4.4 编写production.json文件

#production.json
{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://mongodb/easy-mock", #mongo数据库地址
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]", #redis key 前缀
    "port": 6379, #redis端口号
    "host": "redis", #ip地址
    "password": "", #密码
    "db": 0 #db数据库
  },
  "blackList": {
    "projects": [],
    "ips": []
  },
  "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": "",
    "bindDN": "",
    "password": "",
    "filter": {
      "base": "",
      "attributeName": ""
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}

1.4.5 启动容器

#到docker-compose.yml文件目录下
docker-compose -f ./docker-compose.yml up -d

(1) 执行结果

(2) 试着打开浏览器打开页面http://ip:7300

(3)异常处理

如果打不开,在运行以下命令,查看easy-mock-mongdb_1、easy-mock-redis_1、easy-mock-web_1是否还在运行

docker ps -a

#打印失败服务的logs日志,以easy-mock-web_1为例
docker logs easy-mock-web_1

如果显示

说明docker没有权限修改宿主机文件夹权限,修改文件夹权限

# 上面docker-compose.yml文件中volumes属性下的source路径建议全部都执行以下命令
chown -R 1000:1000 "/temp/logs/bbb/"

再次启动失败服务

#以easy-mock-web_1为例
docker start easy-mock-web_1

查看服务状态

docker ps

再次打开页面查看

© 著作权归作者所有

上一篇: Effect Java笔记
下一篇: docker-compose 安装
人中泰迪
粉丝 1
博文 34
码字总数 23967
作品 0
广州
私信 提问
使用API自动生成工具优化前端工作流

在工作中,我们的前端工作流一般开始于前后端协商好Api文档之后,再针对这个Api文档做mock模拟数据,然后用做好的mock进行开发,后端开发完毕之后再改一下API数据的BaseURL切换到正式API进行...

SHERlocked93
2018/12/06
0
0
浅谈Easy-mock 最好的备胎没有之一

引言   今天我们来聊聊,随着互联网发展,这两年前后端分离的开发模式兴起,Mock也从以住的幕后走上了台面,让更多的人而得知,以前传统的开发方式Mock大多局限在后端人员接触较多一些。 ...

苏南
2018/11/26
0
0
Mac下搭建本地Easy-Mock做假数据

为什么要自己搭建Easy-Mock? 自己最近一直在分享前端甜小白系列的教程,已经分享到第八篇,至此我们要进入下一个阶段项目和案例分享,要涉及到和后台进行数据交互,那么问题来了,作为前端开发攻城...

极客James
09/10
0
0
Easy-mock让团队协作效率提高不止一点点

引言(http://www.susouth.com/)   今天我们来聊聊,随着互联网发展,这两年前后端分离的开发模式兴起,Mock也从以住的幕后走上了台面,让更多的人而得知,以前传统的开发方式Mock大多局限在...

苏南-首席填坑官
2018/11/26
114
1
用vue全家桶+element+mockjs 实现后台管理权限系统及顶栏三级菜单显示

最近完成了我的后台管理系统权限功能的实现,同时觉得后台系统所有的菜单都左置,会限制菜单的扩展,因此我改进了三级菜单的显示。 重要功能总结 权限功能的实现 权限路由思路: 根据用户登录...

wdlhao
06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

手机视频如何制作GIF动图

很多小伙伴都喜欢用GIF动图在各大社交软件上与好友斗图,那你知道这些好玩有趣的GIF动图是如何制作的吗?下面教你一个将手机视频制作成GIF动图的方法,让你都可以随时随地制作有趣的表情包,...

白米稀饭2019
10分钟前
3
0
Spring Security 实战干货:实现自定义退出登录

1. 前言 上一篇对 Spring Security 所有内置的 Filter 进行了介绍。今天我们来实战如何安全退出应用程序。 2. 我们使用 Spring Security 登录后都做了什么 这个问题我们必须搞清楚!一般登录...

码农小胖哥
45分钟前
8
0
JVM核心知识-类加载机制

JVM中类的生命周期包括7个阶段,加载、准备、验证、解析、初始化、使用、卸载。其中准备、验证、解析被归为连接阶段。 加载 jvm在这个阶段完成的工作 通过类名获取类的二进制字节流 将这个字...

moon888
45分钟前
7
0
.net工作流引擎ccflow流程结束相关功能的介绍

关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工作流主流框架 自定义...

孟娟
59分钟前
7
0
APP 值入轻量级钱包以太坊网络钱包

APP 值入轻量级钱包以太坊网络钱包

xiaodong16
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部