本文主要讲四个部分:
1.什么是Yapi
2.Centos7 下基于docker安装Yapi
3.Yapi数据迁移
4.利用Nginx反向代理
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求
基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率
易用的 Mock Server,再也不用担心 mock 数据的生成了
完善的接口自动化测试,保证数据的正确性
支持导入 swagger, postman, har 数据格式,方便迁移旧项目
强大的插件机制,满足各类业务需求
http://yapi.smart-xwork.cn/
Git仓库: https://github.com/YMFE/yapi
已安装的可忽略
yum install docker
systemctl start docker
systemctl enable docker
# mkdir -p /data/docker/mongo
# cd /data/docker/mongo
# mkdir db
# vim mongo.conf
填写一下内容,保存:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /data/db
net:
port: 27017
bindIp: 0.0.0.0
docker启动mongo
# docker run -itd \
-p 27017:27017 \
--name yapi-mongodb \
--restart always \
-v /data/docker/mongo/db:/data/db \
-v /data/docker/mongo/mongo.conf:/data/mongo.conf \
-e TZ=Asia/Shanghai mongo:4.0.4
# docker run -it --rm \
--link yapi-mongodb:mongo \
--entrypoint npm \
--workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server
> [email protected] install-server /api/vendors
> node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"
# docker run -d --name yapi \
--restart always \
--link yapi-mongodb:mongo \
--workdir /api/vendors \
-p 3000:3000 registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js
访问 http://localhost:3000
登录账号: [email protected]
密码: ymfe.org
至此,Yapi基于docker环境安装完成,就可以使用了
还需要把旧的服务器数据迁移到这个yapi中。
由于旧的服务器快到期了,需要将旧的Yapi的数据导入到新的Yapi中。
登录旧的服务器
# mongo
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
yapi 0.015GB
> exit
bye
# mongodump -h dbhost -d dbname -o dbdirectory
-h MongoDB所在服务器地址,例如本机就是127.0.0.1,还可以指定端口号,如:127.0.0.1:27017
-d 需要备份导出的数据库实例名称
-o 备份导出数据存放的地址。
例如:
mongodump -h 127.0.0.1:27017 -d yapi -o /root/
实际操作,进入到docker中,导出导入数据库。
新的和旧的服务器要可以联通。否则还是打包文件来操作。
进入docker环境中:
# docker exec -it yapi-mongodb /bin/bash
将远程的mongodb导入到新的yapi中。
mongodump -h 192.168.1.21:27017 -d yapi -o yapi192.168.1.21/
# mongorestore -h <:port> -d dbname
path 需要导入的数据所在的位置
实际操作
如下所示:
# mongorestore -h 127.0.0.1:27017 -d yapi yapi192.168.1.21/yapi
数据是否都导入正确。
从原来的接口数为0现在有3000多,至此迁移成功。
这步操作主要是用域名便于记忆,不用记 192.168.1.3:3000 的IP来访问。
server {
listen 80;
server_name yapi.XXX.com;
#root /path/;
access_log /data/wwwroot/log/yapi.XXX.com-access.log;
error_log off;
location / {
index index.php index.html;
proxy_pass http://192.168.1.3:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}