乐趣区

关于java:最强开源接口管理平台YApi搭建教程

YApi 简介

YApi 是去哪儿网开源的一个 高效 易用 功能强大 的 API 治理平台,它领有接口治理,接口调试,接口测试,Mock 等等一系列个性。

官网曾经部署了一套私有服务进行演示,间接拜访 https://yapi.baidu.com 即可疾速体验。

部署

这里介绍两种部署形式,一种是基于 docker 一键部署,还有一种是基于 命令行 手动部署,当然我强烈建议应用 docker 进行部署,否则容易碰到一些环境相干的问题。

基于 docker 部署

1. 创立网桥

创立一个网桥让 yapi 容器能拜访到 mongoDB 容器,命令如下:

docker network create yapi

2. 部署 mongoDB

基于 docker 部署非常简单,只须要一行命令就搞定,如下:

docker run -d --name=mongo \
  --network=yapi \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=123456 \
  mongo:3.6.21-xenial

这里要害的点就是通过 MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD环境变量来设置数据库拜访的账号密码,在上面部署 yapi 时要用到。

3. 部署 yapi

通过上一步部署的 mongoDB 账号密码进行部署,如下:

docker run -d --name yapi \
  --network=yapi \
  -e DB_SERVERNAME=mongo \
  -e DB_DATABASE=admin \
  -e DB_PORT=27017 \
  -e DB_USER=root \
  -e DB_PASS=123456 \
  -p 3000:3000 \
  liwei2633/yapi

部署胜利的话通过浏览器拜访 http://127.0.0.1:3000 应该就能够看到以下界面:

而后应用默认管理员账号密码:admin@admin.com+ymfe.org登录就能应用了。


这里的镜像是我本人构建上传的镜像,具体能够参考:basic/README.md。
而后还提供了一个反对 gitlab 登录 的镜像,如果有须要的能够参考:gitlab/README.md

基于命令行部署

下面介绍了基于 docker 的形式装置,当初介绍下基于命令行的形式进行装置。

1. 装置 mongoDB

通过 mongoDB 官网的教程,依据本人的操作系统进行装置即可,地址:https://docs.mongodb.com/v3.6/administration/install-community

因为 mongoDB 默认是无需身份验证的,不太平安,所以要创立一个用户用于拜访数据库,命令如下:

use admin

db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [{ role: "userAdminAnyDatabase", db: "admin"} ]
  }
)

这样创立好了一个用户,账号密码为:root+123456

2. 装置 node.js 环境

留神不要装置太高版本的 node,否则可能会导致局部依赖下载失败,我测试 node10 版本是没问题的,间接去官网https://nodejs.org/dist/latest-v10.x,下载对应的 node 版本装置即可。

装置好之后运行以下命令来验证是否正确装置:

node -v

失常的话会输入 v10.x.x 对应版本号,接着就能够开始装置 yapi 了。

3. 装置 yapi

选好一个装置目录,在目录下关上终端执行命令:

npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

运行胜利之后终端会提醒拜访地址,通过浏览器拜访 http://127.0.0.1:9090 进行装置,如图:

填写好对应的配置信息,而后点击开始部署,接着期待一段时间就部署实现了,而后按 ctrl+c 退出。

再依据装置提醒在终端中启动 yapi 服务:

cd < 部署门路 >
node vendors/server/app.js

启动胜利后就能够拜访了。

后记

YApi 应用在咱们团队应用了一段时间,体验还是十分不错的,然而很惋惜的是这个我的项目目前根本属于无人保护的状态,最近的一次 commit 还是在2020 年 10 月,如果碰到坑的话就不要指望官网来修复了,只能靠本人,前几天给官网提了个 PR 到当初也还没回复,心愿官网能把我的项目再经营起来吧~

我是 MonkeyWie,欢送扫码???????? 关注!不定期在公众号中分享JAVAGolang 前端 dockerk8s 等干货常识。

退出移动版