前言
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
简单来说,就是提供写接口文档的地方,后端人员写接口文档,前端人员直接在上面进行接口查看与开发。
官网地址
安装环境
linux下安装Yapi需要先安装它的依赖环境
安装nodejs(7.6+)
下载nodejs
安装包
https://nodejs.org/en/download/
- 然后通过
ftp
上传到linux
上,或者直接在linux
下载
wget https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz
- 解压
tar xf node-v12.16.3-linux-x64.tar.xz
- 解压文件的 bin 目录底下包含了
node
、npm
等命令,我们可以使用 ln 命令来设置软连接:
ln -s /usr/local/node-v12.16.3-linux-x64/bin/npm /usr/local/bin
ln -s /usr/local/node-v12.16.3-linux-x64/bin/node /usr/local/bin
- 检查是否安装正确
node -v
npm -v
安装mongodb(2.6+)
- 下载
mongodb
安装包
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.18.tgz
- 也可以去官网下载其他版本
https://www.mongodb.com/download-center/community
- 然后通过
ftp
上传到linux
上。 - 解压
tar -zxvf mongodb-linux-x86_64-4.0.18.tgz
- 拷贝到指定目录
mv mongodb-linux-x86_64-4.0.18 /usr/local/mongodb
配置环境变量
vi /etc/profile
- 在最下面添加
export PATH=$PATH:/usr/local/mongodb/bin
- 创建文件夹
一个存放数据,一个存放日志
mkdir -p /data/db
mkdir -p /logs
创建mongodb
配置文件
- 进入bin目录
cd /usr/local/mongodb/bin
- 创建
mongodb.conf
配置文件
vi mongodb.conf
- 直接拷贝写进去
dbpath = /data/db # 数据文件存放目录
logpath = /logs/mongodb.log # 日志文件存放目录
port = 27017 # 端口
fork = true # 以守护程序的方式启用,即在后台运行
noauth = true # 不进行安全验证
# auth=true # 需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程
#访问,第一次安装建议注释
bind_ip=0.0.0.0 # 允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
- 启动
mongodb
./mongod -f mongodb.conf
- 检查是否启动成功
netstat -nltp|grep mongod
或者
ps -ef | grep mongod
注意:一定要设置密码,或者设置本机访问,我就被黑过一次,数据全部丢失
安装yapi-cli
直接在线安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
配置yapi
ln -s /usr/local/node-v12.16.3-linux-x64/bin/yapi /usr/bin/yapi
启动
yapi server
如果访问没效果,请打开9090端口,重启防火墙
永久打开端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent
重启防火墙
firewall-cmd --reload
- 然后再次启动yapi server
- 写上公司名称,其余一般默认,直接部署即可。
部署成功,请切换到部署目录,输入: “node vendors/server/app.js
” 指令启动服务器,
然后在浏览器打开 http://127.0.0.1:3000 访问
切换目录
cd /usr/local/mongodb/bin/my-yapi/
启动服务器
node vendors/server/app.js
或者 以守护进程启动
node vendors/server/app.js &
打开http://127.0.0.1:3000 访问
记得开3000端口,重启防火墙!!!
如果要在后台运行yapi,有两种方式,一种是pm2,一种是screen,
我这里使用的是pm2,官网推荐的也是这个
官网:https://pm2.keymetrics.io/docs/usage/quick-start/
安装pm2
npm install pm2@latest -g
pm2启动项目
pm2 start /www/node-v10.16.0-linux-x64/my-yapi/vendors/server/app.js
后面跟的是安装yapi的目录
使用yapi
使用默认账号登录
账号:admin@admin.com
密码:ymfe.org
只有超级管理员可以管理分组
创建分组
创建新项目
部分接口预览
其中还有Mock
地址等,前端直接访问。爽歪歪的,后端不管功能有没有做好,只要把接口定义好了,前端可以直接对比着开发。多爽,再也不用和前端说话了。
新成员加入
当技术老大,也就是admin
把项目弄好, 所有开发都可以页面注册账号,然后查看接口和维护接口了。
所有成员注册账号
然后管理员把他们都拉近项目组
此时所有成员都可以看到接口啦。
登录成员账号查看
安装浏览器插件
其实写完接口的同时,可以直接进行浏览器访问本地服务,进行测试,就好比postman
接口自测一样。
这个可以直接点击截图里面的教程,安装浏览器插件
此时本地启动我的项目(这个是前几篇写微服务写的,拿来用用)
测试一个 get请求user/test
直接省去了postman
。哈哈
数据导出
如果项目开发完,是备份也好,是给别人看也好,还是第三方使用也好,直接导出!
导出效果查看
实还有好多的功能,没有完全写到。慢慢体会吧。
问题
Error: getaddrinfo ENOTFOUND yapi.demo.qunar.co
首先确认下自己node版本,版本过高不行,下面是我的版本:
node:v10.16.0 npm:6.9.0
- 其实确认自己部署的yapi是否是最新版
我安装的是最新版,V1.10.9
errmsg: 'command find requires authentication'(登录时出现)
确认mongodb是否创建用户,如果没有,按照下面进行操作(根据安装具体位置进行调整)
cd /www/mongodb/mongodb-linux-x86_64-4.0.18/bin
创建用户
./mongo #创建用户,授读写权限 db.createUser( { user: 'yapi', pwd: 'xxx', roles: [ { role: "readWrite", db: "yapi" } ] } ) exit
重启mongodb
#先杀掉进程 ps -ef|grep mongodb kill -9 具体进程id #重启mongodb ./mongod -f mongodb.conf
重新部署yapi
yapi server
部署最后数据库,开启验证,输入用户名密码,即可
- 如果还是报上面那个错
有可能是输入启动命令的目录不对
可以验证一下
#进入启动目录
/www/node-v10.16.0-linux-x64/my-yapi/vendors/server/app.js
#使用node启动,登录看看有误报错
node app.js
如果以上能正常登录进去,证明确实是执行目录权限问题
可以就在当前目录/www/node-v10.16.0-linux-x64/my-yapi/vendors/server/app.js
下执行
或者nohup node app.js &
pm2 start app.js
重新登录,就没有问题了!
使用文档
https://hellosean1025.github.io/yapi/
以上步骤较为繁琐,我开始没想到docker,docker部署yapi要简单的多,
给大家推荐个链接:https://blog.csdn.net/qq_18638761/article/details/118491867
发表评论