前后分离必备神器,YApi小白部署攻略
YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API 说人话:mock数据,接口文档,接口测试yapi就够了
目前使用比较广泛的有以下几个
名称 | 私有部署 | 是否收费 | 技术栈 |
---|---|---|---|
eolinker | 支持 | 是 | 未知 |
rap2 | 支持 | 否 | nodejs mysql react |
yapi | 支持 | 否 | nodejs MongoDB react |
除了以上还有很多,例如swagger、postMan、easyMock...
目前上手容易、界面美观、功能齐全、免费开源的就是yapi了,
使用经历:技术团队20人、2年、30多个项目蹂躏 目前稳健依旧
🌈屁结束,正文:
1 安装mangodb
不勾选compass(可视化工具)
MongoDB默认是不需要登陆的,如果不需要可以跳过这一步
创建2个用户,一个管理员 一个yapi表的普通用户(必须创建yapi表,以及对应用户 否则校验数据库会失败)
命令行定位到这个目录直接运行 .\mongo.exe 进入命令模式后,执行以下代码
> use admin
> db.createUser({user: "root",pwd: "root",roles:[{ role: "userAdminAnyDatabase", db: "admin"}]})
> use yapi
> db.createUser( {user: "yapi",pwd: "123456",roles: [ { role: "readWrite", db: "yapi" } ]})
完整交互过程
> use admin
switched to db admin
> db.createUser({user: "root",pwd: "root",roles:[{ role: "userAdminAnyDatabase", db: "admin"}]})
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
> use yapi
switched to db yapi
> db.createUser( {user: "yapi",pwd: "123456",roles: [ { role: "readWrite", db: "yapi" } ]})
Successfully added user: {
"user" : "yapi",
"roles" : [
{
"role" : "readWrite",
"db" : "yapi"
}
]
}
>
启用MongoDB鉴权
找到 mongoDB安装目录 的 mongod.cfg
开启security(不同版本设置方式可能不同,请自行搜索)
security:
authorization: enabled
重启MongoDB进行下一步
2、安装YAPI
先设置镜像源😄
npm config set registry https://registry.npm.taobao.org
方式一. 可视化部署[推荐] ✔
执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
方式二. 命令行部署
如果 github 压缩文件无法下载,或需要部署到一些特殊的服务器,可尝试此方法
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
3、可视化部署YAPI
数据库认证 如果上面的MongoDB创建用户了就打开,没选就不理它
4、安装完成
根据部署步骤选择的部署路径 打开对应目录
你的部署目录\vendors\server
命令行进入到该目录 node app.js
D:\yapi\vendors\server>node app.js
log: -------------------------------------swaggerSyncUtils constructor----------
-------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:5500/
log: mongodb load success...
到这一步就可以愉快的玩耍了;
但是,每次服务器宕机后,就需要手动 node app.js
老规矩 参照下一步
5、注册为服务
为了维持服务,服务器重启后仍然能保持运行,
这里安利一个win环境下把命令行注册为服务的神器
目前3.0版本为alpha状态,所以我选择
根据服务器环境下载相应的版本 (我这里选择.WinSW.NET2.0.exe)
NET2 NET4 NET461分别对应.net framework2.0/4.0/4.61
CoreX 估计是对应.net core
配置说明链接 https://www.jianshu.com/p/1ee1a8526cc6【中文】
下载好exe程序后 新建个目录 把exe放里面,同目录下新建一个和exe同名的xml作为配置
winsw.exe install
配置如下(根据路径自行修改)
<service> <id>yapi</id> <name>yapi-service</name> <description>yapi接口服务,基于winsw</description> <executable>C:\Program Files (x86)\nodejs\node.exe</executable> <logmode>rotate</logmode> <argument>D:\yapi\vendors\server\app.js</argument> <argument>--log</argument> <argument>yapi start log</argument> <stoptimeout>30sec</stoptimeout> <depend>mongodb</depend> </service>
打开服务,找到yapi对应的服务检查依赖
启动服务 enjoy!😄