YApi接口管理平台超快搭建教程

YApi是一个高效、易用、功能强大的API管理平台,开源支持内网搭建,是公司搭建自己的接口管理平台的最佳选择。

传统搭建方法需要准备nodejs、mongoDB,也不是很麻烦,大概一个小时就能搞定,可以参考文末参考文献中的步骤。但是之前我们已经介绍过了Docker,官方DockerHub上还真有相应的镜像仓库,而且我们公司的硬件资源全部已经容器化,所以使用容器来部署内网的YApi最为合适了。整个过程只要10分钟就能完成了。

一、数据库的准备

YApi使用的是MongoDB,因此我们需要先准备好数据库。

# 拉取mongodb的最新镜像
docker pull mongo:latest

# 创建自定义网络
# --driver bridge 使用bridge类型的网络驱动
# --subnet 192.168.0.0/16 指定子网范围
# --gateway 192.168.0.1 指定网关地址
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

# 启动容器
# -d 后台启动
# --name mongodb 指定容器名称
# --restart always 自动重启
# --net mynet 使用如上创建的自定义网络
# -p 2701:2701 指定端口映射
# -v E:\docker-volume\yapi:/data/db 挂载数据卷
# -e MONGO_INITDB_DATABASE=yapi 指定初始化数据库的名称
# -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root 指定数据库ROOT账密
docker run -d --name mongodb --restart always --net mynet -p 2701:2701 -v E:\docker-volume\yapi\mongo:/data/db -e MONGO_INITDB_DATABASE=yapi -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root mongo

这里强调的是一定要使用数据卷挂载,即使容器不小心被别人删除了,我们也能轻易恢复已经存在的项目接口信息。

然后我们需要创建好YApi使用的数据库,并新建一个给YApi应用使用的数据库账号。

# 进入mongodb cli命令行
mongo localhost:27017
# 切换到admin数据库
use admin;
# 使用root用户登录,账密为启动MondoDB数据库容器时指定的
db.auth("root", "root");
# 创建yapi数据库
use yapi;
# 创建给 yapi应用使用的账号和密码,限制权限
db.createUser({
  user: 'yapi',
  pwd: 'yapi123456',
  roles: [
 { role: "dbAdmin", db: "yapi" },
 { role: "readWrite", db: "yapi" }
  ]
});
# 退出 Mongo Cli
exit
# 退出容器
exit

如此,数据库的配置就完成了。

二、YApi配置

YApi的主要配置都在config.json中,配置的内容也比较简单。

 {
   "port": "3000",
   "adminAccount": "[email protected]", // 管理员的登录账号
   "timeout":120000,
   "db": {
     "servername": "mongodb", // mongodb的容器名称,因为使用了自定义网络,可以直接通过容器名称进行通信
     "DATABASE": "yapi", // 指定使用的数据库名称
     "port": 27017,// mongodb在宿主机上的端口
     "user": "yapi", // 上述创建的账户名
     "pass": "yapi123456",// 上述创建的账户密码
     "authSource": ""
   },
   "mail": {
     "enable": false, // 下面指定邮件通知使用的发信账号信息,可以自行配置
     "host": "smtp.qq.com",
     "port": 465,
     "from": "*",
     "auth": {
       "user": "[email protected]",
       "pass": "***"
     }
   }
 }

同样的,我们需要使用数据卷,将YApi的配置进行备份。

docker pull yapipro/yapi:latest

docker run -d --name yapi-config --net mynet -v E:\docker-volume\yapi\yapi\config.json:/yapi/config.json yapipro/yapi server/install.js

我们可以查看下容器的启动日志,确保配置成功。

log: mongodb load success...
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"

如上日志说明配置成功,但是账户密码并不是日志中打印的那个,下面会说。

此时就完成了YApi应用需要的数据库集合的初始化操作。

三、YApi安装

此时就可以执行最后一步安装YApi的应用了。

docker run -d --name yapi-app --restart always --net mynet -p 3000:3000 -v E:\docker-volume\yapi\yapi\config.json:/yapi/config.json yapipro/yapi server/app.js

查看启动日志内容如下:

log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------

log: 服务已启动,请打开下面链接访问: 

http://127.0.0.1:3000/

log: mongodb load success...

提示使用http://127.0.0.1:3000/访问,就可以发现成功了,使用默认密码yapi.pro就可以登录管理员账户了。下一篇文章会具体介绍YApi核心功能的使用。

四、参考文献

内网搭建yapi接口管理平台 - 知乎 (zhihu.com)

yapipro/yapi - Docker Image | Docker Hub
YApi 接口管理平台 (hellosean1025.github.io)

你可能感兴趣的:(YApi接口管理平台超快搭建教程)