• 接口文档管理神器RAP2安装和部署


    一 RAP2

    RAP2是在RAP1基础上重做的新项目,它包含两个组件(对应两个Github Repository)。

    • rap2-delos: 后端数据API服务器,基于Koa + MySQLlink
    • rap2-dolores: 前端静态资源,基于React link

    什么是RAP?

    rap是一款API 文档管理工具,在 RAP 中,可以定义接口的 URL、请求 & 响应细节格式等等。同时 RAP 还提供 MOCK 服务、测试服务等自动化工等工具,帮助开发团队高效开发。

    git 地址:

    https://github.com/thx/rap2-dolores

    https://github.com/thx/rap2-delos

    特点

    • 强大的 GUI 界面工具 ,完全可视化可编辑的管理工具。
    • 完善的 MOCK 服务,文档定义好后接口就已准备就绪,可方便的 mock 调用接口
    • 庞大的用户群 ,RAP 在阿里巴巴广泛使用,也有许多著名的公司在用。

    界面截图:

    image

    二 RAP2 安装需要的环境

    • Node.js 8.9.4+
    • MySQL 5.7+
    • Redis 4.0+

    以下的安装步骤都是基于Centos 7 进行安装

    2. 1 Node.js 安装:

    #centos:
    curl -sL https://rpm.nodesource.com/setup_8.x | bash -
    yum  install  -y nodejs
    # Using Ubuntu
    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    # Using Debian, as root
    curl -sL https://deb.nodesource.com/setup_8.x | bash -
    apt-get install -y nodejs
    
    

    yum 安装会比较慢,因为服务器是在国外。

    如果上面的安装不成功的,我们可以使用二进制包安装。

    wget  https://nodejs.org/dist/latest-v8.x/node-v8.14.0-linux-x86.tar.gz
    tar -zxvf node-v8.14.0-linux-x64.tar.gz
    mv   node-v8.14.0-linux-x64  /opt/node
    ln -s /opt/node/bin/node  /usr/bin/node
    ln -s /opt/node/bin/npm  /usr/bin/npm
    

    配置淘宝镜像源

    
    # 要是国内的服务器,需要配置 npm 国内镜像
    # 编辑 ~/.npmrc 加入下面内容(当前用户目录下)
    registry = https://registry.npm.taobao.org
    

    安装 pm2

    npm  install -g pm2
    

    2. 2 Mysql 5.7+ 安装

    rpm包安装:
    
    在centos7上要先移除mariadb
    yum -y remove mariadb*
    
    wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
    
    tar  -xvf  mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
    安装依赖:
    yum install libaio.so.1*
    yum install perl
    安装mysql
    rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
    
    启动:
    systemctl  start  mysqld
    
    获取密码:
    cat  /var/log/mysqld.log  |grep  'generated'
    登录之后会要求我们更改密码:
    alter user 'root'@'localhost' identified by '123456';
    
    

    2 .3 Redis 安装见文章

    redis 建议不配置密码,并绑定127.0.0.1 ,只能本地访问
    安装好之后,并以后台任务运行。

    2. 4 后端 rap2-delos 安装

    安装git

    yum  install  -y git  
    

    创建数据库 RAP2_DELOS_APP

    登陆数据库创建 RAP2_DELOS_APP
    
    CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    

    rap2-delos 安装

    # 下载源代码
    git clone https://github.com/thx/rap2-delos.git
    # 切换目录
    cd  rap2-delos
    # 安装依赖包
    npm install
    # 安装 TypeScript 编译包
    npm install typescript -g
    # 编辑测试配置文件(注意这里只是为了测试)
    注意这个文件路径   rap2-delos/src/config/config.dev.js
    
    修改的内容(大约在11行左右开始):
    将数据库配置成我们的数据库名称和路径和用户和密码
    dialect: 'mysql',
    host: 'localhost',
    port: 3306,
    username: 'root',
    password: '123456',
    database: 'RAP2_DELOS_APP',
    
    # 构建
    注意:在 rap2-delos  主目录下操作
    npm run build
    
    # 初始化数据库(一定要在根目录执行哦(rap2-delos/))
    npm run create-db
    
    创建成功了会有提示 “Run create-db finished successfully.”
    # 执行mocha测试用例和js代码规范检查
    npm run check
    
    # 启动开发模式的服务器 监视并在发生代码变更时自动重启
    npm run dev
    

    正常启动:
    image

    如果出现下面的错误就是端口被占用了:

    image

    # 编辑正式配置文件(配置正式数据库)
    rap2-delos/dist/config/config.prod.js  (注意这次修改的配置文件的目录和上面那次目录不一样的。)
    修改的内容(大约在12行左右开始):
    将数据库配置成我们的数据库名称和路径和用户和密码
    dialect: 'mysql',
    host: process.env.MYSQL_URL || 'localhost',
    port: (process.env.MYSQL_PORT && parseInt(process.env.MYSQL_PORT)) || 3306,
    username: process.env.MYSQL_USERNAME || 'root',
    password: process.env.MYSQL_PASSWD || '123456',
    database: process.env.MYSQL_SCHEMA || 'RAP2_DELOS_APP',
    
    
    
    #  启动正式(生产)模式
    npm start 
    
    #  查看服务状态和日志
    pm2  list 
    pm2  logs  rap-server-delos 
    

    测试是否正常:
    ip:8080
    显示:

    RAP2后端服务已启动,请从前端服务(rap2-dolores)访问。 RAP2 back-end server is started, please visit via front-end service (rap2-dolores)
    

    表示正常

    2. 5 前端 rap2-dolores 安装

    # 拉取代码
    git clone https://github.com/thx/rap2-dolores.git
    # 切换目录
    cd  rap2-dolores
    # 初始化
    npm install
    

    下面这步可以不做,直接配置正式。

    # 开发模式配置**(开发配置可以不做)
        配置文件路径:/src/config/config.dev.js
        module.exports = {
          serve: 'http://127.0.0.1:8080',
          keys: ['some secret hurr'],
          session: {
            key: 'koa:sess'
          }
        }
        更改serve  字段
        改成我们的后端访问地址。 注意加 http://
        
        # test cases 测试用例
        npm run test
        
        # will watch & serve automatically 会自动监视改变后重新编译
        npm run dev
    

    正式配置,必须配置

    # 正式配置
    配置文件路径:/src/config/config.prod.js
    module.exports = {
      serve: 'http://127.0.0.1:8080',
      keys: ['some secret hurr'],
      session: {
        key: 'koa:sess'
      }
    }
    更改serve  字段
    改成我们的后端访问地址,访问地址直接使用ip,不要使用127.0.0.1。 注意加 http://,
    
    #  编译React生产包
    npm run build
    
    #  安装serve
    npm install -g serve
    
    # 运行 
    serve -s ./build -p 80
    -p 为指定端口
    # 后台运行
    nohup  serve -s ./build -p 80  &
    

    访问 :

    image

    出现这个即意味着安装成功。

    三 注意事项:

    错误一

    在安装依赖的时候
    因为我是二进制安装的node,所以有权限问题,最好是yum安装nodejs 这样权限问题就不存在了。
    或者我们给我们的目录可写的权限

    错误截图:
    image

    错误二

    yum 安装nodejs ,会总报网络错误,我们可以多次运行 yum install -y nodejs

    错误三

    如果我们打开界面是一直在加载的话,那么就是我们在配置的时候使用的是127.0.0.1:8080,我们需要使用的是对应的内网ip。例如:192.168.1.190

  • 相关阅读:
    一个简单的knockout.js 和easyui的绑定
    knockoutjs + easyui.treegrid 可编辑的自定义绑定插件
    Knockout自定义绑定my97datepicker
    去除小数后多余的0
    Windows Azure Web Site (15) 取消Azure Web Site默认的IIS ARR
    Azure ARM (1) UI初探
    Azure Redis Cache (3) 创建和使用P级别的Redis Cache
    Windows Azure HandBook (7) 基于Azure Web App的企业官网改造
    Windows Azure Storage (23) 计算Azure VHD实际使用容量
    Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接
  • 原文地址:https://www.cnblogs.com/operationhome/p/10038469.html
Copyright © 2020-2023  润新知