1、介绍
github:https://hellosean1025.github.io/yapi/
文档:https://hellosean1025.github.io/yapi/documents/index.html
特性:
- 权限管理
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- Mock server
- 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率
- 数据导入
- 接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目
- 可视化接口
- 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率
- 自动化测试
- 完善的接口自动化测试,保证数据的正确性,支持对 Response 断言
- 插件机制
- 强大的插件机制,满足各类业务需求
2、安装
https://hellosean1025.github.io/yapi/devops/index.html#%E5%AE%89%E8%A3%85
环境要求
windows
环境
1、安装node.js
https://www.runoob.com/nodejs/nodejs-install-setup.html
2、安装MongoDB
https://www.runoob.com/mongodb/mongodb-window-install.html
3、安装git
https://www.runoob.com/git/git-install-setup.html
4、执行
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
进入可视化安装页面
http://127.0.0.1:9000
修改公司名称和邮箱地址,点击开始部署
执行 node vendors/server/app.js
提示安装完成
访问 http://127.0.0.1:3000
用户登陆:输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。
Linux搭建
https://www.jianshu.com/p/5bda5556c149
安装出现:
解决:
chown -R root:root /nodejs安装目录
https://www.cnblogs.com/smartrui/p/10767727.html
服务器管理
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
官网推荐使用 pm2 管理 node 服务器启动,停止,具体使用方法可参考下面的教程:
- pm2官方文档:http://pm2.keymetrics.io/docs/usage/quick-start/#list-managed-applications
- PM2使用入门指南:https://imweb.io/topic/57c8cbb27f226f687b365636
安装
npm install pm2@latest -g
执行
切换到yapi的vendors目录 执行pm2 start
pm2 start server/app.js --watch
pm2 watch 无限启动问题解决:
问题:服务一直没启动,重启次数一直在增加,查看log显示因为日志变更导致
解决方案:
// 生成启动配置文件
pm2 ecosystem
添加
apps: [ {
name: "wcpstoreServer",
script: "app.js",
//输出console.error以及console.log
error_file: "pm2logs/err.log",
out_file: "pm2logs/out.log",
log_date_format: "YYYY-MM-DD HH:mm:ss:S Z",
max_memory_restart : "500M",
ignore_watch : "logs"、 //添加这个参数,忽略监听logs文件夹
}
]
pm2 stop 0 // 停止之前启动的服务
pm2 start ecosystem.config.js // 启动
pm2 list // 查看服务列表
手册:http://pm2.keymetrics.io/docs/usage/application-declaration/#generate-configuration
Linux安装
docker安装:https://www.cnblogs.com/qgc1995/p/9549896.html
p.p1 { margin: 0; font: 16px Menlo; color: rgba(147, 253, 224, 1); background-color: rgba(18, 21, 20, 1) }
p.p1 { margin: 0; font: 16px Menlo; color: rgba(147, 253, 224, 1); background-color: rgba(18, 21, 20, 1) }