【Ubuntu18.04】部署YAPI

部署yapi

YAPI介绍

YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

特性

  • 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  • 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  • 类似 postman 的接口调试
  • 自动化测试, 支持对 Response 断言
  • MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
  • 支持 postman, har, swagger 数据导入
  • 免费开源,内网部署,信息再也不怕泄露了

安装环境  nodejs(7.6+) 

这里不建议使用高版本的nodejs,之前我安装了一个14最新版本的nodejs再最后node vendors/server/app.js的时候一直会报错,报错如下

TypeError: Cannot read property 'then' of undefined

建议下载8版本的nodejs,亲测有用,下载地址如下

Index of /download/release/v8.12.0/

解压:
xz -d node-v8.12.0-linux-x64.tar.xz
tar -xvf node-v8.12.0-linux-x64.tar
mv node-v8.12.0-linux-x64 /usr/local/bin/node
vim /etc/profile
在文末添加语句如下:
#Nodejs
NODEJS_HOME=/usr/local/bin/node/bin
export PATH=$NODEJS_HOME:$PATH
保存退出
:wq

source /etc/profile

node -v
v8.12.0

npm -v
6.4.1

安装mogodb     mongo(2.6+)

导入公钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

创建源列表文件

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

安装MongoDB

sudo apt-get update
sudo apt-get install -y mongodb-org

添加MongoDB开机自启动

systemctl start mongod
systemctl enable mongod

配置MongoDB用户名和密码(不是YAPI部署必须项)

mongo
# 进入 MongoDB shell 后,切换到数据库管理员
use admin
# 创建 root 用户
db.createUser({user:"admin", pwd:"123456", roles:[{role:"root", db:"admin"}]})

# 切换到数据库 yapi
use yapi
# 创建 yapi 管理员用户
db.createUser({user:"yapiAdmin", pwd:"123456", roles:[{role:"dbOwner", db:"yapi"}]})
# 退出
exit
# 重新启动MongoDB并连接创建的用户
service mongod restart

安装

方式一可视化部署(推荐)

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

 

【Ubuntu18.04】部署YAPI_第1张图片

中间会报一堆的WARING如果不是ERR可以先不管,等结束会有账号和密码并提示/root/my-yapi    node vendors/server/app.js开启服务,就算成功了,默认为登录账号[email protected],密码ymfe.org

发现的一个报错:

Command 'node' not found, but can be installed with:

apt install nodejs

解决

apt install nodejs
apt install npm

node vendors/server/app.js

log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:3000/
log: mongodb load success...

【Ubuntu18.04】部署YAPI_第2张图片

后台运行(看的官方文档)

服务管理

利用pm2方便服务管理维护。

npm install pm2 -g  //安装pm2
cd  /root/my-yapi
pm2 start "vendors/server/app.js" --name yapi //pm2管理yapi服务
pm2 info yapi //查看服务信息
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务

升级

升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。

cd  {项目目录}
yapi ls //查看版本号列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本

方式二代码部署

mkdir yapi
cd yapi
git clone --depth=1 https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json // 复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org

# 在此之前请先修改配置 config.json
npm run install-server // 安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js // 启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候

关闭注册等操作

内网部署

【Ubuntu18.04】部署YAPI_第3张图片

报错:

Error:  (node:40406) UnhandledPromiseRejectionWarning: Error: 初始化管理员账号 "[email protected]" 失败, E11000 duplicate key error collection: yapi.user index: email_1 dup key: { : "[email protected]" }
    at /root/my-yapi/vendors/server/install.js:146:17
    at 
    at process._tickCallback (internal/process/next_tick.js:189:7)

解决方法:

mongo
> use yapi;
switched to db yapi
> db.user.remove({'username':'admin'});
WriteResult({ "nRemoved" : 1 })

以下是WARNING,如果没有ERR暂时可以不用管,我只是网上找了一下方法,并且罗列出来,还没有进行过实际的操作

[email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

解决方法,升级

npm install --save  -g core-js@^3

问题2 

[email protected]: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410

解决方法

npm install axios

问题3

[email protected]: Please use @koa/multer instead, see 

解决方法

npm install --save @koa/multer multer

mongodb的linux下载地址

https://www.mongodb.org/dl/linux

你可能感兴趣的:(学习,ubuntu,linux)