关键词搜索

全站搜索
×
密码登录在这里
×
注册会员
×

已有账号? 请点击

忘记密码

已有账号? 请点击

使用其他方式登录

宝塔pm2服务安装部署YApi图文教程

发布2021-05-10 浏览2785次

详情内容

宝塔安装部署YApi图文教程,YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。

官方文档:https://hellosean1025.github.io/yapi/

1.给宝塔安装PM2管理器同时安装node

下面看一下使用宝塔的PM2管理器进行项目的启动管理,还是在宝塔应用商店里安装PM2管理器

image.png安装成功后设置Node版本为8.9,设置其他版本可能会发生不可描述的错误

image.png

首先在自己服务器安装npm 这里直接使用教程提供的命令

npm install -g yapi-cli --registry https://registry.npm.taobao.org

npm安装完成后 进入自己想要部署的目录,如:

cd /www/wwwroot/youwebserver

运行 yapi安装命令 其实这一步是启动安装服务

yapi server

 启动成功后提示相对应的地址和端口,记得打开自己服务器的相关端口

image.png

注意:在安装前需要在安全和阿里云安全策略里开启相应的3000和9000端口

装之前得装一下MongoDB

直接在宝塔应用商店安装即可

image.png


 一般只需要填写一下公司名称即可  

直接点击开始部署

image.png

一般安装成功SSH会回报如下信息,包括管理员账号,运行方法,登录地址等...

image.png

 好了,项目部署完成,当然可以自己先手动运行一下看看效果

请切换到部署目录,输入

node vendors/server/app.js

服务启动成功的话会回报这些信息

image.png

直接按照提示的地址进行登录

image.png


注意:当你关了ssh窗口时,登陆界面就无法打开,这里需要做以下操作

安装完成后在PM2管理器中添加我们想要管理的项目

设置好添加后会自动启动帮我们管理这个服务就大功告成了

image.png

image.png

已知出错原因

管理器展示的端口为OFF,并且无法访问项目

image.png

解决方法是

找到项目部署的根目录 把项目根目录的整个目录包含子目录的所有者设置为www,即可被PM2管理器接管

image.png

原因

我使用pm2原生命令查看运行的项目的信息 发现其托管使用的是www身份

image.png我又查看pm2管理器的日志发现好像是报权限的错误,于是乎就想到了修改权限

image.png


另外如果遇到宝塔无法安装或启动,可以手动设置

全局安装 pm2

npm install pm2 -g

配置pm2服务

pm2 start D:\YApi\my-yapi\vendors\server\app.js --name Yapi

以Yapi的名称命名并启动

常用命令

pm2 start Yapi
pm2 stop Yapi


YApi更新日志:

版本记录

v1.8.5

  • 改善 swagger 自动导入,不再支持秒级别的 cron 表达式,默认使用 10分钟更新一次的频率

  • 修复输入空的 swagger地址 ,会发起请求的 bug

  • 优化 swagger 数据导入,不会导入空的分类,不会使用版本号作为分类名称

  • swagger 导入自动增加 basePath 到项目配置

v1.8.4

  • 修复 swagger 导入数据时,如果数据格式中缺少 in 的参数,会丢失请求参数

  • 修复当传入数据格式的 method 不规范时,容易导致获取对象为空,出现异常导致动态页面无法打开

  • 修复解决 json-schema-faker/json-schema-faker#453 问题

v1.8.3

  • 修复管理员无法看到所有分组的 bug

v1.8.2

  • 重构分组列表功能实现,大幅度优化首屏加载速度

  • 接口运行界面设置 header、query、form 的初始值为其示例值

  • 运行接口请求时支持自动预览HTML

v1.8.1

  • 优化插件【Swagger 自动同步】在添加地址时的服务端校验行为

  • 优化单个测试用例执行超时时间限制,从3秒改为10秒

v1.8.0

filtering interface on the server instead of client

v1.7.2

支持接口路径模糊搜索,不包含 basepath

v1.7.1

废弃 yapi.ymfe.org 文档站点

v1.7.0

fix:修复md两个undefined以及run_auto_test中执行用例id问题 #1024

v1.7.0-beta.1

修复storage保存逻辑错误

v1.7.0-beta.0

  • [插件] 新增默认插件,支持通过 token 导出包含 basepath 的 json 格式接口,并整合添加 sm2tsservice 入口

  • [插件] 新增默认插件,支持swagger数据同步

  • 修复不兼容 node7.6 bug

v1.5.14

  • 修复接口运行部分请求参数默认使用示例填写值导致无法删除参数bug

  • 修复无法保存 global bug

v1.5.13 (存在bug)

  • 支持 pre-script 脚本持久化数据存储,storage 兼容浏览器和服务端,并且是持久化数据存储,不会丢失,用法类似于 localStorage

  • 修复了swagger 数据导入bug

  • 修复接口运行部分请求参数默认使用示例填写值导致无法删除参数bug

v1.5.12 (存在bug)

  • 废弃 v1.6.x 新增功能,因为有不可控的bug出现

  • 支持项目设置 hook

  • 开放api 新增 '/api/plugin/export'

  • 接口运行部分请求参数默认使用示例填写值

v1.5.10

  • 解决 license should be a valid SPDX license expression 报错

  • 修改OpenAPI比较版本方法

  • fix复制路径不包含基本路径

  • 修复了第一次部署,首页一直处于 loading bug

v1.5.7

  • 数据导入默认使用完全覆盖

  • 升级新版本 cross-request 扩展,因 chrome 安全策略限制,不再支持文件上传

  • fix 重复的 moment 依赖,导致安装时报错

  • feat: add jsrsasign Lib

v1.5.6

  • 修复 /api/open/import_data 参数bug

  • 修复 /api/open/import_data 文档错误,merge 参数误写为 dataSync

v1.5.5

  • cross-request 升级到 2.10

  • /api/open/import_data 新增 url 参数,支持服务端 url 导入

v1.5.2

新增 openapi /api/project/get,可获取项目基本信息

v1.5.1

  • 优化 restful api 动态路由权重匹配算法,匹配更加精确

  • openapi 新增 /api/interface/list_cat,获取某个分类下所有接口

  • 新增了 rap数据导入到 yapi 插件 rap2yapi

v1.5.0

  • 优化开放 api功能,现在 token 带有用户信息了

  • 修复无法获取请求302 跳转前的 headers

v1.4.4

  • 优化了 json-schema 编辑器交互,修复了参数名写到一半提示重复的问题

  • 优化了首页体验,提升页面打开速度

  • 新增自动化测试通用规则配置功能

v1.4.3

  • 修复了可视化安装,mongodb 报错的问题

  • 支持了 swagger 导出功能

  • 支持了克隆测试用例

v1.4.2

  • 优化数据导入对 headers 处理,如果 requestType 是 json,自动增加header "content-type/json"

  • fix: 修改了测试集合有多个项目接口时,切换执行环境相互覆盖不生效的问题 #692

  • fix: mongoose warning 'Error: (node:3819) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead'

  • opti: 去掉没必要的redux-thunk

  • 接口更新没有变化时,不记录日志,避免cron多次导入swagger的接口时,导致动态里展示一大堆的无意义日志

v1.4.1

  • 支持任何人都可以添加分组,只有管理员才能修改项目是否公开

  • 支持 mongodb 集群

Bug Fixed

  • 修改 mock严格模式,GET带有 JSON BODY 导致的验证问题

  • 对 queryPath 改动导致的bug,支持通过 xxx?controller=name 等 query 参数区分路径

  • 因 tui-editor 需要安装github 依赖,导致部分机器无法部署成功的问题

v1.3.23

接口tag功能

数据导入增加 merge 功能

增加参数的批量导入功能

json schema 可视化编辑器增加 mock 功能

Bug Fixed


接口path中写入 ?name=xxx bug

高级mock 匹配 data: [{item: XXX}] 时匹配不成功

接口运行 query params 自动勾选

mock get 带 cookie 时跨域

json schema 嵌套多层 array 预览不展示 bug

swagger URL 导入 跨域问题

v1.3.22

json schema number和integer支持枚举

服务端测试增加下载功能

增加 mock 接口请求字段参数验证

增加返回数据验证

Bug Fixed


命令行导入成员信息为 undefined

修复form 参数为空时 接口无法保存的问题

v1.3.21

请求配置增加 context.utils.CryptoJS

环境变量支持自定义全局变量

增加wiki数据导出功能

用户管理处增加搜索功能

增加项目全局 mock 脚本功能

高级 mock 期望 支持关闭开启功能

Bug Fixed


优化ldap登陆

swagger 导入公共params

接口编辑 mockEditor 修改为 AceEditor

v1.3.20

Bug Fixed


修复 ykit 打包代码问题

修复 swagger url 导入选中后再切换其他数据方式时拖拽区域不出现问题

修复 wiki controller 后端报错问题

v1.3.19

增加项目文档记录wiki

支持swagger URL 导入

接口运行和测试集合中加入参数备注信息

测试接口导入支持状态过滤

json schema 增加枚举备注功能

左侧菜单栏可以支持单独滚动条

支持新版本通知

Bug Fixed


修复测试用例名称为空时保存测试用例出现的bug

导出markdown 路径参数处格式错误和参数table备注信息换行后样式错误

v1.3.18

增加全局接口搜索功能

邮件通知过滤功能

Bug Fixed


新建接口自动添加为项目成员

修复type为raw header type 为form 时运行body 为空问题

mongodb3.4-> 3.6 聚合 cursor报错

path 路径支持 !

json-schema 编辑器修复修改 type 导致描述信息被重置的问题

v1.3.17

请求配置中添加 context.castId 字段用于标识测试用例

Bug Fixed


修复服务器端测试,邮件通知开启token undefined bug

将状态由未完成修改成已完成之后,原来的json格式的数据会变成json-schema

有分类为空时导出json后再导入报错

只修改参数 必需/非必需, 文本/文件 时, 查看改动详情, 提示没有改动

ldap登陆允许用户输入的登陆账号非邮箱

v1.3.16

支持自定义域名邮箱登录

测试用例支持导入不同项目接口

完善可视化表达式,可根据焦点编辑表达式

req_body json 支持指针位置可视化插入表达式

Bug Fixed


导入postman headers 为 null 时报错

format-data 数据解析不成功

导出的接口顺序按照api的接口顺序

v1.3.15

增强跨域请求安全性,只允许 YApi 网站进行跨域请求

优化文档

修复 schema 描述信息展示 bug

增加禁止普通用户注册功能

v1.3.14

修复接口编辑白屏问题

v1.3.13

新增通过命令行导入 swagger 接口数据功能

接口请求设置新增异步处理特性

v1.3.12

Feature


接口列表支持路径查询

项目复制

预览页面交互优化

优化服务端自动化测试文案

增加项目接口json数据导入导出功能

Bug Fixed


项目中访客权限的账号可以 增、删、改接口中高级mock的设置

高级Mock 中的响应时间值无法保存(实际提示为:保存成功)

分类为空时添加接口

v1.3.11

Bug Fixed


修复 v1.3.10 websocket 连接问题

修复运行报错问题

修复数据导入 har 文件问题

v1.3.9

Feature


增加接口编辑返回数据预览

修复旧的文档链接

Bug Fixed


导入数据为空提示

v1.3.8

Feature


新增 json 结构可视化编辑器

pre-script 增加 method 字段数据

Bug Fixed


点击编辑 tab 可能导致运行功能异常

修复postman导入没有分类的问题

修复postman参数导入缺失

v1.3.7

Feature


完美支持 swagger, 接口请求参数和返回数据支持使用 json-schema 定义数据结构

增加测试集合列表的拖动功能

接口列表中增加“开放接口”状态

接口列表树形组件支持拖动

json-schema 导出 table 表单

接口列表和测试集树形组件支持拖动

图标从阿里 cdn 替换到本地

Bug Fixed


修复高级 Mock 服务端报错

修复测试集合 table 拖动频繁请求的问题

修复 swagger 数据导入部分 bug

v1.3.6

Feature


增加服务端的自动化测试功能,可集成到 jenkins, github 做接口自动化测试

增加导出公共接口功能

增加复制接口路径按钮

增加项目 token 功能,可通过 token 访问开放接口

antd 升级到 v3

Bug Fixed


修复接口动态提示有误

修复变量表达式无法反向展示的问题

v1.3.5

Feature


增加项目成员批量导入

数据导入同步,数据导入支持 swagger 3.0

swagger 数据导入支持 2xx 的 httpcode

新增系统信息页面

Bug Fixed


修复离开接口编辑页面的 confirm 框有时候会触发两次 & confirm 的 ‘X’ 按钮无效

修复添加集合后测试集合 list 不更新问题

测试集合点击对应接口侧边栏不切换

测试集合处,点击删除不成功

修改编辑接口后,再回到测试集合处数据不更新问题

修复 mongodb 帐号密码配置错误时引发的错误

修复删除分组后侧边数据没有更新问题

v1.3.4

Feature


帮助文档首页增加部署公司

进入 project 页面加入 loading

接口 list 页 table 中加入分页

项目添加者自动变成项目组长

Bug Fixed


修复无权限进入项目 bug

修复复制接口,query 等参数无法复制 bug

修复导出 html markdown 参数丢失问题

修复项目设置 pre-script 无法显示问题

v1.3.3

Feature


邮件功能中: 1)接口信息改动增加通知对应项目所有的成员;2)默认开启接口改动邮件提醒;3) 增加邮件内容的 jsondiff 信息

Bug Fixed


优化接口运行页面插件提醒

完善 log 记录不到的问题

修复接口内容改动不发送邮件问题

修复部分 swagger 数据导入丢失问题

v1.3.2

Feature


分组中新增接口自定义字段,便于用户在项目中添加额外字段数据

导入数据时新增导入 loading 显示

v1.3.1

Bug Fixed


修复接口状态和 req_params 参数无法更新问题

修复搜索测试集合不展开问题

修复测试过程中全局 header 不存在的问题

v1.3.0

Feature


yapi 默认集成 ldap 登录方式

yapi 做一个 sso 登录插件,基于现有的 qsso 改造成大多数公司可用的

环境设置支持全局 header

接口运行页面选择环境增加管理环境的弹层

接口运行支持加工运行前后的 request 和 response ,主要是处理加密的接口或各种 token 参数问题

自动化测试除提供自定义脚本外,还提供可视化表单形式验证一些数据,例如 statusCode、bodyContent

增加查看接口详细改动

支持接口运行页面 body 全屏编辑

数据导出到 html 支持了分类

Bug Fixed


修复了高级 Mock 无法获取到真实客户端 ip

v1.2.9

Bug Fixed


Api 路径兼容 postman {varible}

View Response Height 问题

Feature


新增克隆测试集功能

高级 Mock 期望支持 mockjs

pathname 允许只有一个 /


v1.2.8

Bug Fixed

修复接口运行 json 格式问题

修复测试报告显示问题

增加了接口数量统计

多参数表达式改用双大括号{{}}

修复了环境变量设置样式问题

Feature

测试用例增加自定义测试脚本功能

v1.2.7

Bug Fixed

修复接口运行功能,当 httpCode 不是 200 时,导致无法获取 response body 问题

修复路径参数无法删除优化测试集 table 页面,当文字超出一定长度会换行的问题

优化测试集断言错误提示

优化接口编辑 save 按钮样式

Feature

测试集断言增加 log 方法,用于输出调试日志

可视化动态参数表达式生成器,生成类似表达式 {@email | concat: pass | md5 | substr: 1,10}


v1.2.6

Bug Fixed

修复路径参数无法删除

Feature

参数值支持多个动态参数,类似 str{@email}str{$.55.body.id}

参数值支持管道表达式,例如 {@email | concat: pass | md5 | substr: 1,10}

接口编辑参数可拖动排序

修复路径参数无法删除问题


v1.2.5

Bug Fixed

成员如果第一次添加成员时选择组长,接着再添加下一个成员,如果 select 是默认的开发者,这时候会出现与上次 select 相同的值

如果添加了一个不存在的成员还是会提示添加成功,并且发送的数据是原来发送成功的数据,这里需要重置初始值并在未找到对应用户名时对未找到的人名应该提示用户不存在

Fix 接口集自动化测试 header 没有解析 mock 和 变量参数

在接口开发阶段,多个人并行改接口,如果最后一个人改之前没刷新页面,会把之前的人修改过的都冲掉了

修复 cross-request,response header 字段重复 bug

Feature

优化了分组添加,编辑交互

cross-request 计算了接口请求时间

新增接口文档导出 html, markdown 功能


v1.2.4

Bug Fixed

期望值输入时候换成字符串,导致 diff 时因类型不一致匹配不上

swagger 导入数据时出现的 id 未定义 bug

fix: kerberos dependencies 导致安装依赖需要编译的问题

修复了高级 mock 期望过滤参数为空时匹配不到的 bug

将接口编辑页的保存按钮变成一直在窗口底部

修改需求文档中项目操作处修改项目中的接口测试 a 链接指向的网页错误问题

添加接口时重名,现在提示“已存在”,并在提示信息中告知用户删改接口的位置

已添加的成员,再次添加会提示“添加成功”,优化提示为已成功添加人数,和已存在人数

添加分组和修改分组时有个权限问题没有更新,切换列表才更新,该问题已解决

解决修改和删除公共分类名称处,在添加接口时,选择接口分类名称没有修改的问题

Feature


接口 path 支持了后面带 /

cross-request 支持了不安全的 header,如 cookie, referer...

支持了 path 带特殊符号"!"

请求参数可改变顺序,目前只是对必需和非必需进行自动排序

用户头像上传问题,txt 改成 jpg 格式上传,用户头像显示空白,然后无法再次上传头像。无法再次上传的问题已经解决

解决用户头像改变但是 header 处图片不变的问题。问题描述:用户上传头像成功但是 Header 处的头像没有改变,并且点击其他页面后再回到个人中心里面的头像又变成没有重新上传时的图片,必须重新刷新才可以将 Header 处的图片更新

解决导入 postman 接口动态路由无法导入的 Bug

v1.2.0

Features


增加高级 Mock 期望功能,根据设置的请求过滤规则,返回期望数据。

增加统计功能

增加自动化测试功能,写断言脚本,实现精准测试

Bug Fixed


修复了切换集合环境的 Bug

修复了 mockServer 拿不到 Post 请求 Body

修复了接口调试 pathParams 无法使用 mock 参数和变量参数

v1.1.2

Features


接口运行增加了 query 和 body 的 enable 选项,可选择是否请求该字段

Mock 支持了时间戳占位符 @timestamp

接口集运行页面可选择环境

接口集动态参数格式由原来的 $.{key}.{jsonPath} 改为 $.{key}.{body|params}.{jsonPath}

Bug Fixed


修复了接口集运行功能会忽略环境配置的 domain 路径

修复了动态路由 mock 返回结果不是该接口定义返回数据

修复了日志链接错误问题

修复了添加用户 loading 问题

修复了用户名编辑,前台未更新问题

修复了复制接口导致 GET 请求显示 request-body 问题

修复了接口集页面刷新后跳转到第一个接口集问题

修复了接口用例页面修改 header 参数值没有效果 bug

修复了接口集页面导入接口会导致 reqBody 清空 bug

v1.1.1

Features


添加插件开发文档

接口和测试用例可拖动

优化动态提示

Bug Fixed


修复接口状态将接口方法重置为 get

环境配置域名带 path 无效

修复 Swagger 数据导入分类 bug

MockServer 支持 CORS 跨域

优化 JSON-SCHEMA 转化为 JSON 的逻辑,由原来随机转换不被 required 字段改为转换全部字段

修复了项目成员无法看到该项目的 Bug

修复了无法查看公共项目的 Bug

优化了部分样式和交互

v1.1.0

Features


新增个人空间功能,拥有这个分组的全部权限,可以在这个分组里探索 YApi 的功能

新增分组动态功能

优化接口运行页面交互

CrossRequest 扩展支持 https

增加了 Swagger 数据导入功能

v1.0.2

Features


网站改为 100%布局

优化搜索的提示

支持了 queryPath

接口浏览页面和编辑页面交互

新增高级 Mock 功能,可通过 js 代码去控制 mock 数据的生成

测试集支持了自动化测试

增加复制接口功能

在组长和开发者权限基础上,添加了 查看着 权限

v1.0.1

Fix Bug


修改接口名字后,需要刷新页面左边的侧边栏才会显示正确的名字

mockJson 出现 null,mock 出现格式不对问题

没有权限的分组不可选

项目列表图标设计大小优化下

关注的项目不显眼

添加接口之后,再次选择添加接口,会保留上次填写的信息

用例名称太长,导致无法使用删除功能

别人知道项目 id 虽然没有权限,但能看到里面所有内容

Features


接口备注集成了富文本编辑

支持 har 协议的接口数据导入


点击QQ咨询
开通会员
返回顶部
×
  • 微信支付
微信扫码支付
微信扫码支付
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
确定支付下载