YApi 旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API
---摘自官方说明文档yapi官网
工作中经常会需要测试接口的功能,开发同学又没有提供可供参考的接口文档,所以混用了fiddler、postman、Jmeter多种工具来测试接口。无意中发现了这个YApi的平台,还是开源免费的,所以拿来部在服务器上试用下。本文记录了Yapi的内网部署方式。
nodejs v10.15.3 https://nodejs.org/en/download/
mongodb v4.0.6 https://www.mongodb.com/download-center/community
centos6.10 64bit
安装nodejs 这里为了方便加了个软链接到/usr/local/bin目录 没有配环境变量
tar xvf node-v10.15.3-linux-x64.tar.xz ls
cd node-v10.15.3-linux-x64
mv node-v10.15.3-linux-x64 nodejs
ln -s /root/nodejs/bin/npm /usr/local/bin
ln -s /root/nodejs/bin/node /usr/local/bin
node -v npm 命令能用就行
安装mongodb
mkdir mongodb
tar zxvf mongodb-linux-x86_64-4.0.6.tgz -C mongodb
mv mongodb-linux-x86_64-4.0.6/ /usr/local/mongodb
vi /etc/profile
# 增加mongodb环境变量
export PATH=$PATH:/usr/local/mongodb/bin
source /etc/profile
2.检查mongo --version 可用 输出版本信息
3.配置mongodb.cnf配置文件信息
# 指定数据存储目录 需要提前创建
dbpath=/data/mongo/
# 指定日志文件
logpath=/data/mongo/mongo.log
# 日志追加写
logappend=true
# 创建后台子进程
fork=true
# 指定端口号
port=27017
4. mongod -f /usr/local/mongodb/mongdb.cnf 启动mongodbserver 正常情况下 mongodb已经启动了
5. 可用mongo 命令连接本机的mongodb 默认情况下是没有用户名密码登录的
可用通过 show dbs 命令查看当前所有数据库
6. 创建用户名/密码
> use admin
switched to db admin
> db.createUser(
... {
... user: "root",
... pwd: "password",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
在外网端下载yapi源码 (打包依赖node.js环境)
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json
cd vendors
npm install --production
将yapi整个打包成 zip 压缩包 导入服务器
unzip 解压
修改config.json文件中mongodb的配置,访问端口默认3000
[root@k8s-db test]# cat config.json
{
"port": "3000",
"adminAccount": "[email protected]",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "root",
"pass": "password",
"authSource": "admin"
},
初始化数据库 (这里检查mongodb已运行 并配置admin 用户名/密码)
cd ./yapi/vendors
npm run install-server
提示初始化完成
[root@k8s-db vendors]# npm run install-server
> [email protected] install-server /root/test/vendors
> node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"
在vendors 目录 执行 node server/app.js 启动yapi server 如正常情况可看到
[root@k8s-db vendors]# node server/app.js
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...
打开浏览器访问ip:3000 就可以使用yapi接口管理平台了
默认的管理员为[email protected] 密码ymfe.org 默认注册也是开放的。。。
也可以配置ldap方式认证登录 关闭注册 、参考官方说明文档。
发现node启动的方式 只能运行在终端前台,只要xshell ssh超时后,进程就挂了 。。。
改用pm2的进程管理方式
https://www.npmjs.com/package/pm2 官网链接
https://github.com/Unitech/PM2/ 项目路径
使用体验:可以方便的管理接口,提供了多种mock数据的方法,在明确接口字段输入输出情况下,可以方便前端同学mock接口调试,加速开发。对于测试同学来说,也可以作为接口自动化的一种辅助手段。还支持postman接口导入,接口文档多种格式导出,目前看来还是不错的。