前后分离必备神器,YApi小白部署攻略

 

啥是YApi

YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API 说人话:mock数据,接口文档,接口测试yapi就够了

目前使用比较广泛的有以下几个

名称私有部署是否收费技术栈
eolinker 支持 未知
rap2 支持 nodejs mysql react
yapi 支持 nodejs MongoDB react

除了以上还有很多,例如swagger、postMan、easyMock...

目前上手容易、界面美观、功能齐全、免费开源的就是yapi了,

使用经历:技术团队20人、2年、30多个项目蹂躏 目前稳健依旧

🌈屁结束,正文:

1 安装mangodb

不勾选compass(可视化工具)

image-20201126100953186

 

MongoDB默认是不需要登陆的,如果不需要可以跳过这一步

创建2个用户,一个管理员 一个yapi表的普通用户(必须创建yapi表,以及对应用户 否则校验数据库会失败)

找到MongoDB安装目录 一般为 C:\Program Files\MongoDB\Server\版本号\bin

命令行定位到这个目录直接运行 .\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

 

image-20201126115603207

数据库认证 如果上面的MongoDB创建用户了就打开,没选就不理它

image-20201126115659495

 

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...

image-20201126163559364

 

到这一步就可以愉快的玩耍了;

但是,每次服务器宕机后,就需要手动 node app.js

老规矩 参照下一步

 

5、注册为服务

 

为了维持服务,服务器重启后仍然能保持运行,

这里安利一个win环境下把命令行注册为服务的神器 winsw

目前3.0版本为alpha状态,所以我选择 v2.10.3

根据服务器环境下载相应的版本 (我这里选择.WinSW.NET2.0.exe)

image-20201126163305734

NET2 NET4 NET461分别对应.net framework2.0/4.0/4.61

CoreX 估计是对应.net core

配置说明链接 https://www.jianshu.com/p/1ee1a8526cc6【中文】

下载好exe程序后 新建个目录 把exe放里面,同目录下新建一个和exe同名的xml作为配置

image-20201126170934611

 

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对应的服务检查依赖

image-20201126170547468

 

启动服务 enjoy!😄

 

posted @ 2020-11-27 17:21  四两websir  阅读(385)  评论(0编辑  收藏  举报