• Linux下快速搭建YApi接口管理平台


    一、序言

    为了团队成员更好地合作,准备搭建一个接口管理平台,之前一直用的是YApi,这次自己准备手把手部署一个Yapi实例。YApi是一个前端项目,因为一直做后台开发,所以在部署时踩了一些小坑,特此记录一下。



    二、安装Node

    Yapi是一个Node项目,在这里遇到了第一个大坑就是版本问题,中间试过Node v16和v14版本,发现都不能用,最后发现安装Node v12版本是可以的。

    在这里强烈建议使用nvm来安装Node,nvm是Node的一个版本管理器,可以自由切换Node版本,前端不像后端,不同项目有时适用的Node版本不同,版本不对,心态崩溃。


    1、安装nvm

    Linux上直接运行安装脚本即可,如下:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    或者
    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    • 1
    • 2
    • 3

    具体地址请参考,nvm安装和更新说明

    备注:安装可能有点小慢,耐心等待即可。


    2、使用兼容的Node版本

    (1) 列出所有可安装的Node版本

    nvm ls-remote
    
    • 1

    (2) 安装适合yapi的Node版本,这里选择v12.22.12

    nvm install v12.22.12
    
    • 1

    (3) 查看当前安装的Node版本

    nvm list
    
    • 1

    以下是我当前安装的Node版本,有v14.20.0v12.22.12

    ->    v12.22.12
           v14.20.0
    default -> v12.22.12
    iojs -> N/A (default)
    unstable -> N/A (default)
    node -> stable (-> v14.20.0) (default)
    stable -> 14.20 (-> v14.20.0) (default)
    lts/* -> lts/gallium (-> N/A)
    lts/argon -> v4.9.1 (-> N/A)
    lts/boron -> v6.17.1 (-> N/A)
    lts/carbon -> v8.17.0 (-> N/A)
    lts/dubnium -> v10.24.1 (-> N/A)
    lts/erbium -> v12.22.12
    lts/fermium -> v14.20.0
    lts/gallium -> v16.16.0 (-> N/A)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    (4) 切换到指定Node版本

    nvm use default
    或者
    nvm use v12.22.12
    
    • 1
    • 2
    • 3

    (5) 查看当前使用的Node版本

    node -v
    
    • 1


    二、安装MongoDB

    1、下载MongoDB

    Yapi数据存储选择的是Mongo DB,所以在初始化Yapi前我们先得部署一个Mongo实例。
    这里我安装的Mongo DB版本是4.4.15,直接运行以下命令即可:

    wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-v4.4-latest.tgz
    
    • 1

    然后再解压:

    tar xzf mongodb-linux-x86_64-rhel70-v4.4-latest.tgz
    
    • 1

    2、配置MongoDB

    (1) MongoDB解压目录下新建相关目录

    mkdir conf data logs
    
    • 1

    备注:conf为配置文件目录,data为数据目录,logs为日志目录。

    (2) conf目录下新增配置文件mongod.conf

    touch mongod.conf
    
    • 1

    配置文件内容如下:

    systemLog:
       destination: file
       path: "/mongodb-4.4.15/logs/mongodb.log" # 日志目录
       logAppend: true
    net:
       bindIp: 127.0.0.1 # 绑定的ip
       port: 27017 # 服务端口
       unixDomainSocket:
          enabled: false # 如果开启,下面的pathPrefix配置得加上,不然会写在/tmp目录下
          pathPrefix: "/mongodb-4.4.15/conf" 
    storage:
       dbPath: "/mongodb-4.4.15/data" # 数据目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    备注:更多关于Mongo DB配置项请参考,MongoDB 4.4版本配置选项说明

    (3) 启动Mongo DB

    进入到安装MongoDB的bin目录下,运行如下命令即可。

    ./mongod -f /mongodb-4.4.15/conf/mongod.conf &
    
    • 1

    (4) 连接测试

    直接在bin目录下运行如下命令即可。

    ./mongo
    
    • 1

    连接成功后,显示如下:

    在这里插入图片描述



    三、安装YApi

    直接用官网推荐的可视化安装,官网地址为:Yapi官网。输入以下命令即可:

    # 安装yapi
    npm install -g yapi-cli --registry https://registry.npm.taobao.org
    # 启动服务
    yapi server 
    
    • 1
    • 2
    • 3
    • 4

    启动后会有提示,打开浏览器访问http://ip:9090端口即可,会出现如下界面:
    在这里插入图片描述
    点击开始部署后,会弹出一个界面,里面展示的是应用部署的日志信息,同时shell终端也会出现同样的日志信息。

    部署成功后,会提示如何启动服务,执行如下命令即可:

    node /yapi/vendors/server/app.js
    
    • 1

    备注:我的部署路径为/opt/appl/yapi,软链接为yapi -> /opt/appl/yapi,上面这种启动方式为前台启动,按Ctrl + C后服务会终止。关于如何在后台启动Node.js应用,请往后看。



    四、安装PM2管理Node服务

    PM2Node.js应用的后台进程管理器,内置负载均衡器,可以实现无停机加载,帮助我们更好的管理和维护后台应用。

    除了管理Node.js应用,它还能管理其它任何可执行的脚本和二进制文件,如下:

    $ pm2 start bashscript.sh
    $ pm2 start python-app.py --watch
    $ pm2 start binary-file -- --port 1520
    
    • 1
    • 2
    • 3

    备注:更多命令和参数请参考,PM2官网

    (1) 启动yapi服务

    pm2 start /yapi/vendors/server/app.js --name yapi --log /yapi/log/yapi.log
    
    • 1
    • --name:指定应用名。
    • --log:指定日志文件。

    备注:pm2管理的应用会在后台启动。

    (2) 查看服务状态

    pm2 status
    
    • 1

    显示内容如下:

    在这里插入图片描述

    (3) 终止服务

    pm2 stop /yapi/vendors/server/app.js
    
    • 1


    五、登录YApi后台

    浏览器输入http://ip:9000,进入登录页面,默认管理员用户名为我们部署时指定的管理员邮箱,即:admin@admin.com,默认密码为:ymfe.org

    备注:初始密码可以在个人中心修改。

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Linux进程控制(1)
    Linux rpm方式安装 MYSQL8.0
    深度学习技巧总结
    火灾报警联网FC18中CAN光端机常见问题解答和使用指导
    进程和线程
    Linux-centos8安装docker
    Linux中断概述
    Golang基础 函数详解 函数基础
    数值的扩展方法以及新增数据类型BigInt
    基于SpringBoot+Bootstrap的旅游管理系统的设计与实现
  • 原文地址:https://blog.csdn.net/lingbomanbu_lyl/article/details/125869152