本文主要講四個部分:
1.什麼是Yapi
2.Centos7 下基于docker安裝Yapi
3.Yapi資料遷移
4.利用Nginx反向代理
什麼是Yapi
YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、産品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕松建立、釋出、維護 API,YApi 還為使用者提供了優秀的互動體驗,開發人員隻需利用平台提供的接口資料寫入工具以及簡單的點選操作就可以實作接口的管理。

1.權限管理
YApi 成熟的團隊管理扁平化項目權限配置滿足各類企業的需求
2.可視化接口管理
基于 websocket 的多人協作接口編輯功能和類 postman 測試工具,讓多人協作成倍提升開發效率
3.Mock Server
易用的 Mock Server,再也不用擔心 mock 資料的生成了
4.自動化測試
完善的接口自動化測試,保證資料的正确性
5.資料導入
支援導入 swagger, postman, har 資料格式,友善遷移舊項目
6.插件機制
強大的插件機制,滿足各類業務需求
官方文檔
http://yapi.smart-xwork.cn/
Git倉庫: https://github.com/YMFE/yapi
Centos7 下基于docker安裝Yapi
一、安裝Docker
已安裝的可忽略
yum install docker
systemctl start docker
systemctl enable docker
二、docker啟動配置Mongo
# 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
三、初始化 Yapi 資料庫索引及管理者賬号
# 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"
四、啟動 Yapi 服務
# 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中
由于舊的伺服器快到期了,需要将舊的Yapi的資料導入到新的Yapi中。
登入舊的伺服器
1.檢視mongodb資料庫
# mongo
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
yapi 0.015GB
> exit
bye
2.導出mongodb資料庫
導出文法
# 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/
3.導入mongodb資料庫
導入文法:
# mongorestore -h <hostname><:port> -d dbname <path>
path 需要導入的資料所在的位置
實際操作
如下所示:
# mongorestore -h 127.0.0.1:27017 -d yapi yapi192.168.1.21/yapi
4.驗證
資料是否都導入正确。
從原來的接口數為0現在有3000多,至此遷移成功。
Nginx反向代理
這步操作主要是用域名便于記憶,不用記 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;
}
}