Linux系统下基于Docker安装Yapi,并且迁移Yapi数据

2023-05-16

本文主要讲四个部分:

1.什么是Yapi

2.Centos7 下基于docker安装Yapi

3.Yapi数据迁移

4.利用Nginx反向代理

什么是Yapi

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

image-20230208145718401

1.权限管理

YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求

2.可视化接口管理

基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率

3.Mock Server

易用的 Mock Server,再也不用担心 mock 数据的生成了

4.自动化测试

完善的接口自动化测试,保证数据的正确性

5.数据导入

支持导入 swagger, postman, har 数据格式,方便迁移旧项目

6.插件机制

强大的插件机制,满足各类业务需求

官方文档

http://yapi.smart-xwork.cn/

Git仓库: https://github.com/YMFE/yapi

Centos7 下基于docker安装Yapi

一、安装Docker

已安装的可忽略

yum install  docker
systemctl start docker
systemctl enable docker

二、docker启动配置Mongo

# mkdir -p /data/docker/mongo
# cd  /data/docker/mongo
# mkdir db
# vim mongo.conf
填写一下内容,保存:
systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
storage:
  dbPath: /data/db
net:
  port: 27017
  bindIp: 0.0.0.0

docker启动mongo

# docker run -itd \
-p 27017:27017 \
--name yapi-mongodb \
--restart always \
-v /data/docker/mongo/db:/data/db \
-v /data/docker/mongo/mongo.conf:/data/mongo.conf \
-e TZ=Asia/Shanghai mongo:4.0.4

三、初始化 Yapi 数据库索引及管理员账号

# docker run -it --rm  \
--link yapi-mongodb:mongo  \
--entrypoint npm  \
--workdir /api/vendors  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  run install-server

> yapi-vendor@1.8.5 install-server /api/vendors
>  node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"

四、启动 Yapi 服务

# docker run -d  --name yapi  \
 --restart always \
--link yapi-mongodb:mongo  \
--workdir /api/vendors  \
-p 3000:3000  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  server/app.js

访问 http://localhost:3000

登录账号: admin@admin.com
密码: ymfe.org

image-20230208152434166

至此,Yapi基于docker环境安装完成,就可以使用了

还需要把旧的服务器数据迁移到这个yapi中。

将旧的Yapi项目导入到新的Yapi中

由于旧的服务器快到期了,需要将旧的Yapi的数据导入到新的Yapi中。

登录旧的服务器

1.查看mongodb数据库

# mongo
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
yapi    0.015GB
> exit
bye

2.导出mongodb数据库

导出语法

# mongodump -h dbhost -d dbname -o dbdirectory
-h MongoDB所在服务器地址,例如本机就是127.0.0.1,还可以指定端口号,如:127.0.0.1:27017
-d 需要备份导出的数据库实例名称
-o 备份导出数据存放的地址。

例如:
mongodump -h 127.0.0.1:27017 -d yapi -o /root/

实际操作,进入到docker中,导出导入数据库。

新的和旧的服务器要可以联通。否则还是打包文件来操作。

进入docker环境中:
# docker exec -it yapi-mongodb /bin/bash

将远程的mongodb导入到新的yapi中。
mongodump -h 192.168.1.21:27017 -d yapi -o yapi192.168.1.21/

3.导入mongodb数据库

导入语法:

# mongorestore -h <hostname><:port> -d dbname <path>
path    需要导入的数据所在的位置

实际操作

如下所示:

# mongorestore -h 127.0.0.1:27017 -d yapi yapi192.168.1.21/yapi

4.验证

数据是否都导入正确。

从原来的接口数为0现在有3000多,至此迁移成功。

image-20230214193557949

Nginx反向代理

这步操作主要是用域名便于记忆,不用记 192.168.1.3:3000 的IP来访问。

server {
        listen       80;
        server_name  yapi.XXX.com;
        #root /path/;
        access_log /data/wwwroot/log/yapi.XXX.com-access.log;
        error_log off;

        location / {
                index index.php index.html;
                proxy_pass      http://192.168.1.3:3000;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux系统下基于Docker安装Yapi,并且迁移Yapi数据 的相关文章

  • 使用Prometheus监控API

    可以使用新的方案 拨测API接口 43 监控方案 一直学下去的博客 CSDN博客 写在最前面 我心里也打鼓 xff0c 是不是应该把这个文章写出来 xff0c 因为这个项目里面的代码不能拿来就用 xff0c 需要做修改 xff08 其实后端
  • CentOS 6.8下安装glibc-2.17

    简介 mysql使用压缩包在CentOS 6 8 的系统上安装是会出现 xff0c glibc 2 17 not found的错误 xff0c 需要安装新版本的glibc 步骤如下 wget https ftp gnu org gnu gl
  • CentOS安装远程桌面(XRDP)

    背景 现在大部分服务端应用都是运行在Linux上的 xff0c 所以使用Linux操作系统来开发应用会方便很多 用Mac的用户请自动跳过 准环境 主机 一台 操作系统 CentOS 7 6 安装步骤 安装软件并启动 yum groupins
  • 自定义prometheus-operator中容器的参数

    简介 prometheus opertator 方便了我们在Kubernetes里面部署prometheus集群 xff0c 但是有一些底层的配置也被掩盖了 我遇到的问题就是配置文件的实时生效 xff0c 要等3分钟才可以 于是去翻了一下C
  • Gitlab全量迁移

    背景 公司研发使用的Gitlab由于服务器下架需要迁移到新的Gitlab服务器上 Gitlab官方推荐了先备份然后再恢复的方法 个人觉得这个方案不是很友好 xff0c 故采用官方的另外一种方法 xff0c 百度后发现这个方法还没有人记录 x
  • Swift使用极光推送JPush的Demo

    JPushDemo github项目地址 需要导入JPush框架 xff0c 可以使用cocoapod导入 xff0c 也可以手动导入 环境配置 配置环境可以参考极光推送的官方文档 xff1a iOS 证书设置指南 iOS SDK 集成指南
  • 拨测API接口+监控方案

    简介 在业务运维场景中 xff0c 需要对核心的API接口进行拨测 而各个接口需要传递的参数或者接口之间的依赖是比较复杂的 xff0c 通常接口之间都是通过链式请求来完成一个业务场景 常见的就是先登录 xff0c 拿到token以后 xff
  • KVM常用命令集合

    背景 曙光的一台物理服务器6240通过KVM进行虚拟化 xff0c 创建多台虚机 记录一下整个过程中常用的命令 物理服务器信息如下 操作系统 Kylin Linux Advanced Server release V10 span clas
  • 通过cfssl自签证书https证书

    背景 公司内部自建Web服务 xff0c 通过自签CA xff0c 然后签发https证书 工具地址 GitHub cloudflare cfssl CFSSL Cloudflare 39 s PKI and TLS toolkit 使用步
  • vSphere Web Client 6.5 如何上传ISO文件

    vSphere Web Client 6 5 如何上传ISO文件 xff1f 1 xff0c 先开启SSH功能 WEB登陆管理端 xff0c 选中一台主机 xff0c 配置 xff0d 安全配置文件 xff0d 服务编辑 xff0d SSH
  • linux中sed在指定字符前后添加内容

    假设文档内容如下 xff1a 1 2 3 4 5 root 64 localhost cat tmp input txt null 000011112222 test 要求 xff1a 在1111之前添加AAA 方法如下 xff1a sed
  • 解决 - Prometheus 监控Kubelet Metrics 报错"server returned HTTP status 403 Forbidden"

    简介 使用prometheus监控kubelet的时候 xff0c 报如下403的错误 xff1a 或者报401的错误 该问题的原因是webhook的授权地址使用127 0 0 1 所以其它IP发起的请求都会被拒绝 将该地址改为0 0 0
  • 为什么每次进入命令都要重新source /etc/profile 才能生效?

    span style color 999988 编辑JDK8 span span style color 0086b3 export span JAVA HOME 61 span style color dd1144 34 usr java
  • MySQL配置文件my.ini的一般设置

    mysqld 设置3306端口 port 61 3306 设置mysql的安装目录 basedir 61 D Software Package mysql 8 0 12 winx64 mysql 8 0 12 winx64 设置mysql数
  • Linux shell脚本编程时bad substitution解决办法

    首先 xff0c 我们要理解bad substitution的字面意思 xff0c 它的字面意思是 替换错误 的意思 这种错误的原因呢 xff0c 通常是我们编写脚本时 和 xff08 xff09 错误使用导致的 比如应该用 xff08 x
  • Vue中的watch 和computed 属性

    之前写过一篇关于computed计算属性的文章 xff0c 详见这里 computed 内的function只执行一次 xff0c 仅当function内涉及到Vue实例绑定的data的值的改变 xff0c function才会从新执行 x
  • Swift使用XMPPFramework做IM即时通信的Demo

    上一篇文章处理了文本中表情的替换 xff0c 现在来完成消息的发送功能吧 xff08 貌似前后并没有逻辑关系哈 xff09 首先为了测试 xff0c 我们需要下载spark工具 xff0c 它可以连接openfire搭建的后台来完成即时通信
  • P1591 阶乘数码

    题目描述 求n 中某个数码出现的次数 输入格式 第一行为 t t 10 xff0c 表示数据组数 接下来 t 行 xff0c 每行一个正整数n n 1000 和数码 a 输出格式 对于每组数据 xff0c 输出一个整数 xff0c 表示 n
  • nginx缓存命中率统计(转)

    转自 xff1a http www libertyvps com thread 275 1 1 html nginx提供了 upstream cache status这个变量来显示缓存的状态 xff0c 我们可以在配置中添加一个http头来
  • windows远程桌面连接到Linux服务器(ubuntu系统)、解决xrdp登录界面port问题、解决password failed

    一 xff1a 一般在windows系统安装ssh客户端远程连接Linux服务器 xff0c 可以很方便地传输文件 xff08 注意 xff1a 文件路径不能有小括号 xff0c 空格之类的 xff0c 不然会出现erro xff09 但如

随机推荐