什么?你还在用postman?你不知道YApi这个神奇的东西嘛!我来教你部署(LinuxCentos环境下)

2,378 阅读3分钟

YApi 可视化接口管理平台

YApi前言介绍

  1. Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。去哪儿网移动架构组(YMFE)是由FE,iOS和Android工程师共同组成的,去哪儿最具想象力、创造力和影响力的大前端团队。
  2. 权限管理 YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求
  3. 可视化接口管理 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作 成倍提升开发效率
  4. Mock Server 易用的 Mock Server,再也不用担心 mock 数据的生成了
  5. 自动化测试 完善的接口自动化测试,保证数据的正确性
  6. 数据导入 支持导入 swagger, postman, har 数据格式,方便迁移旧项目
  7. 插件机制 强大的插件机制,满足各类业务需求
  8. Yapi 官方文档 yapi.ymfe.org/documents/i…

Docker环境构建YApi

当然前提是你的服务器安装有Docker

创建 MongoDB 数据卷

执行 docker volume create mongo_data_yapi

mongodb数据卷

启动 MongoDB

执行 docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
如果你的docker内没有mongodb,此命令会自动帮你下载

启动mongodb

获取 YApi 镜像,版本信息可在 阿里云镜像仓库 查看

执行 
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

获取Yapi镜像

初始化 YApi 数据库索引及管理员账号 (切记以下命令需要一行一行输入 \为换行符)

执行 
docker run -it --rm \
--link mongo-yapi:mongo \
--entrypoint npm \
--workdir /api/vendors \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
run install-server
执行完毕之后会显示管理员的账号与密码 请记录下来

在这里插入图片描述

自定义配置文件挂载到目录 /api/config.json

官方自定义配置文件地址(https://github.com/YMFE/yapi/blob/master/config_example.json?spm=5176.1972344.1.6.LYdCBe&file=config_example.json )
进入docker(docker安装好之后的存储目录默认为/var/lib/docker)目录
cd  /var/lib/docker
创建 api目录
mkdir  api
进入 api目录
创建config.json文件
touch  config.json
将官方文档中的内容分拷贝至该文件中保存即可
官方config.json
{
"port": "3000",
"adminAccount": "admin@admin.com",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "test1",
"pass": "test1",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
		}
	}
}

config.json

启动YApi (切记以下命令需要一行一行输入 \为换行符)

docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /api/vendors \
-p 3000:3000 \   -- 端口为3000
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
server/app.js

启动Yapi

curl 127.0.0.1:3000
执行此命令 查看是否有如下返回值,如有,则为安装成功

安装成功

访问YApi

外部主机访问 域名:3000或者ip:3000 登录账号 admin@admin.com 密码 ymfe.org(即为初始化YApi的是用户名密码)

首页
登陆成功界面

内部curl可以访问 但是外部主机浏览器却一直无法访问的问题

  1. 阿里云的服务器从外部访问内部是有限制的,YApi我是使用3000端口启动,那么外部想访问该服务,我必须在阿里云控制台将我该服务器的3000端口在入方向开放出来,外部才可访问.
  • 如何开放端口 进入阿里云服务器实例列表,点击更多,选中安全组配置
    在这里插入图片描述

    在这里插入图片描述
    点击配置规则,选择入方向,添加安全组规则
    在这里插入图片描述
    在这里插入图片描述
    按照如图所示配置即可
    在这里插入图片描述
  1. 服务器的防火墙未关闭 导致无法访问

YApi相关操作

关闭 Yapi

docker stop yapi

启动 Yapi

docker start yapi

升级 Yapi

1、停止并删除旧版容器
docker rm -f yapi
2、获取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
3、启动新容器(以下命令一行一行输入 \为换行符)
	docker run -d \
	--name yapi \
	--link mongo-yapi:mongo \
	--workdir /api/vendors \
	-p 3000:3000 \
	registry.cn-hangzhou.aliyuncs.com/anoy/yapi\
	server/app.js