
1 基础知识
1.1 YApi的简介
– YApi是高效、易用、功能强大的API管理平台
– YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。
– YApi可以帮助开发者轻松创建、发布、维护API
– YApi为用户提供优秀的交互体验
– YApi开发人员只需要利用平台提供的接口数据写入工具以及简单的点击操作即可实现接口管理
1.2 YApi的特点
– 基于Json5和Mockjs定义接口返回收集的结构和文档,效率多倍提升
– 以扁平化的权限设计保证大型企业级项目管理且兼容易用性
– 类似postman的接口调试
– 自动化测试,支持对Response断言
– MockServer除支持普通随机mock外,还增加了Mock期望功能(根据设置请求过滤规则返回期望的数据)
– 支持postman、har、swagger数据导入
– 免费开源、内网部署从而避免信息泄露
1.3 环境要求
– nodejs 7.6+
– mongodb 2.6+
– git
2 最佳实践
2.1 系统配置
2.1.1 系统基本配置
OS = CentOS 8.x x86_64
IP Address = 10.168.0.27
Host Name = yapi.cmdschool.org
2.1.2 升级系统
yum update -y
2.2 准备nodejs环境
2.2.1 安装软件包
yum install -y git yum install -y nodejs
2.2.2 配置运行用户
groupadd -g 548 nodejs useradd -u 548 -g 548 -d /var/lib/nodejs/ nodejs
2.3 准备mongodb环境
2.3.1 安装mongodb
2.3.2 准备yapi所需的数据库
mongo
使用如下命令完成数据库认证,
use admin db.auth("root","rootpwd")
使用如下命令创建应用所需的数据库权限,
use yapi db.createUser( { user:"yapi", pwd:"yapipwd", roles:[{role:"dbOwner",db:"yapi"}] } ) quit()
2.4 配置yapi-cli部署工具
2.4.1 安装yapi-cli部署工具
npm install -g yapi-cli --registry https://registry.npm.taobao.org
2.4.2 手动测试服务运行
yapi server
以上部署工具需要使用root运行(按下【CTRL+C】退出),运行后可使用如下命令查看端口倾听,
netstat -antp | grep node
可见如下提示,
tcp6 0 0 :::9090 :::* LISTEN 1066/node
2.4.3 开放工具端口
firewall-cmd --permanent --add-port 9090/tcp firewall-cmd --reload firewall-cmd --list-all
2.5 配置yapi
2.5.1 通过yapi-cli网络接口部署yapi
http://10.168.0.27:9090
请根据自己的实际填写并单击【部署】
如果看到如下信息,则意味着部署成功,
当前安装版本: 1.10.2 连接数据库成功! 开始下载平台文件压缩包... http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.10.2.tgz 部署文件完成,正在安装依赖库... npm WARN deprecated babel-eslint@7.2.3: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. npm WARN deprecated babel@6.23.0: In 6.x, the babel package has been deprecated in favor of babel-cli. Check https://opencollective.com/babel to support the Babel maintainers #... 初始化管理员账号成功,账号名:"will@cmdschool.org",密码:"ymfe.org" 部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
2.5.2 设置运行目录权限
chown nodejs:nodejs -R /var/www/yapi/ chmod 775 -R /var/www/yapi/
2.5.3 手动测试运行
su - nodejs cd /var/www/yapi/ node vendors/server/app.js
,运行后可使用如下命令查看端口倾听,
netstat -antp | grep node
可见如下提示,
#... tcp6 0 0 :::3000 :::* LISTEN 35890/node
2.5.4 开放应用端口
firewall-cmd --permanent --add-port 3000/tcp firewall-cmd --reload firewall-cmd --list-all
2.5.5 配置服务启动
vim /etc/systemd/system/yapi.service
加入如下脚本,
[Unit] Description=YApi Service After=syslog.target network.target [Service] Type=simple User=nodejs WorkingDirectory=/var/www/yapi PermissionsStartOnly=true ExecStart=/usr/bin/node vendors/server/app.js [Install] WantedBy=multi-user.target
保存配置后,你需要重载服务使配置生效,
systemctl daemon-reload
然后,请使用如下命令控制服务并设置自启动,
systemctl start yapi.service systemctl stop yapi.service systemctl restart yapi.service systemctl status yapi.service systemctl enable yapi.service
2.5.6 访问yapi服务
http://10.168.0.27:3000
2.5.7 配置LDAP登录
如果你尚未准备LDAP服务端,请根据以下文章建立LDAP服务端并配置验证的账号,
然后,会到yapi服务器,修改如下配置文件,
cp /var/www/yapi/config.json /var/www/yapi/config.json.default vim /var/www/yapi/config.json
加入如下配置,
{ #... "mail": { #... }, "ldapLogin": { "enable": true, "server": "ldap://10.168.0.155", "baseDn": "cn=Directory Manager", "bindPassword": "******", "searchDn": "ou=people,dc=cmdschool,dc=org", "searchStandard": "&(objectclass=person)(uid=%s)", "emailKey": "mail", "usernameKey": "displayName" } }
配置修改完成后,你需要重启服务使配置生效,
systemctl restart yapi
2.6 命令行的接口测试方案
某种情况下,命令行更能分析接口的异常,如有需要请参阅如下章节,
参阅文档
==================
文档地址
—————–
https://hellosean1025.github.io/yapi/
gihub
——————
https://github.com/ymfe/yapi
安装方法
————-
https://hellosean1025.github.io/yapi/devops/index.html
代替方案
—————-
https://www.eolink.com/
没有评论