Yapi为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。
功能特点:
权限管理 | YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求 |
---|---|
可视化接口管理 | 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率 |
Mock Server | 易用的 Mock Server,再也不用担心 mock 数据的生成了 |
自动化测试 | 完善的接口自动化测试,保证数据的正确性 |
数据导入 | 支持导入 swagger, postman, har 数据格式,方便迁移旧项目 |
插件机制 | 强大的插件机制,满足各类业务需求 |
私有化部署
使用 yapi-cli 工具,部署 YApi 平台是非常容易的。建议部署成 http 站点,因 chrome 浏览器安全限制,部署成 https 会导致测试功能在请求 http 站点时文件上传功能异常。
环境要求
- nodejs(7.6 )
- mongodb(2.6 )
部署nodejs环境
下载nodejs部署包并解压
代码语言:javascript复制cd /usr/local/
wget https://nodejs.org/dist/v13.6.0/node-v13.6.0-linux-x64.tar.gz
tar -xvf node-v13.6.0-linux-x64.tar.gz
mv node-v13.6.0-linux-x64.tar.gz nodejs
创建软连接
代码语言:javascript复制# 建立node软链接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
# 建立npm 软链接
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
更换镜像源
代码语言:javascript复制# 设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 查看设置信息
npm config list
镜像源已更换
代码语言:javascript复制[root@localhost ~]# npm config list
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.13.4 node/v13.6.0 linux x64"
; userconfig /root/.npmrc
registry = "https://registry.npm.taobao.org/"
; node bin location = /usr/local/nodejs/bin/node
; cwd = /root
; HOME = /root
; "npm config ls -l" to show all defaults.
[root@localhost ~]#
验证并查看版本
代码语言:javascript复制[root@localhost ~]# node -v
v13.6.0
[root@localhost ~]# npm -v
6.13.4
[root@localhost ~]#
以上可以看到nodejs环境已经安装好了
部署mongodb数据库
下载地址:
代码语言:javascript复制https://www.mongodb.com/download-center/community
下载并解压
代码语言:javascript复制cd /usr/local/
tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5 mongodb
创建文件夹
代码语言:javascript复制mkdir -p ./data/db
mkdir -p ./logs
mkdir ./conf
代码语言:javascript复制[root@localhost mongodb]# ll
total 132
drwxr-xr-x 2 root root 70 Dec 8 20:52 bin
drwxr-xr-x 2 root root 25 Dec 8 20:54 conf
drwxr-xr-x 3 root root 16 Dec 8 20:53 data
-rw-r--r-- 1 root root 30608 Dec 2 23:33 LICENSE-Community.txt
drwxr-xr-x 2 root root 24 Dec 8 20:55 logs
-rw-r--r-- 1 root root 16726 Dec 2 23:33 MPL-2
-rw-r--r-- 1 root root 1977 Dec 2 23:33 README
-rw-r--r-- 1 root root 76823 Dec 2 23:33 THIRD-PARTY-NOTICES
[root@localhost mongodb]#
创建配置文件并修改对应路径
vim ./conf/mongod.conf
代码语言:javascript复制 systemLog:
#mongodb发送所有日志输出的目标指定为文件
destination: file
#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
path: /usr/local/mongodb/logs/mongod.log
#当mongos或mongod实例重启时,其会将新条目追加到现有日志文件的末尾。
logAppend: true
storage:
#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
dbPath: /usr/local/mongodb/data/db
journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
#服务实例绑定的IP,默认是localhost,为了外部访问,此处应添加局域网ip而非公网ip
bindIp: localhost,192.168.2.224
#绑定的端口,默认是27017
port: 27017
启动
代码语言:javascript复制[root@localhost bin]# ./mongod -f ../conf/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 1424
child process started successfully, parent exiting
看到child process started successfully表示已经启动成功、
部署Yapi服务
执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。
代码语言:javascript复制npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
浏览器访问:ip:9090
输入公司名称,点击开始部署即可
代码语言:javascript复制依赖库安装完成,正在初始化数据库mongodb...
> yapi-vendor@1.10.2 install-server /usr/local/nodejs/bin/my-yapi/vendors
> node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器
然后在浏览器打开 http://127.0.0.1:3000 访问
安装部署完成之后,去服务器部署目录
代码语言:javascript复制/usr/local/nodejs/bin/my-yapi
输入启动命令
代码语言:javascript复制node vendors/server/app.js
代码语言:javascript复制[root@localhost my-yapi]# node vendors/server/app.js
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...
(node:1588) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(node:1588) DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
浏览器访问:ip:3000
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"