平台介绍
image.png
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性
基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
类似 postman 的接口调试
自动化测试, 支持对 Response 断言
MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
支持 postman, har, swagger 数据导入
免费开源,内网部署,信息再也不怕泄露了
环境要求
nodejs(7.6+)
mongodb(2.6+)
git
安装
安装Mongodb
官方文档: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
创建repo文件,这样就可以使用yum直接安装Mongodb
repo文件存放地址:
/etc/yum.repos.d/mongodb-org-4.0.repo
内容:
[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
直接使用yum安装Mongodb
sudo yum install -y mongodb-org
运行mongodb服务
service mongod start
安装 nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -yum -y install nodejs
如果没有编译环境,则需要yum install gcc-c++ make -y
安装 YAPI
使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。
npm install -g yapi-cli --registry https://registry.npm.taobao.org/yapi server
升级 YAPI
升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。
cd {项目目录} yapi ls //查看版本号列表yapi update //更新到最新版本yapi update -v {Version} //更新到指定版本
运行
部署成功,请切换到部署目录/home/jjj-yapi,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
forever 守护进程
forever start node vendors/server/app.js
github地址: https://github.com/nodejitsu/forever
forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新或进程挂掉,forever会自动重启node服务器,确保应用正常运行。
//全局安装npm install forever -g//启动 forever start app.js//关闭 forever stop app.js //输出日志和错误forever start -l forever.log -o out.log -e err.log app.js//自动监控文件变化,文件修改保存之后自动重启app.js forever -w app.js //查看帮助 forever -h
作者:imluxin
链接:https://www.jianshu.com/p/7cef8235f57c