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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 一 RAP2 RAP2是在RAP1基础上重做的新项目,它包含两个组件(对应两个Github Repository)。 rap2-delos: 后端数据API服务器,基于Koa + MySQLlink rap2-dolores: 前端静态资源,基于React link 什么是RAP? rap是一款API 文档管理工具,在 RAP 中,可以定义接口的 URL、请求 & 响应细节格式等等。

一 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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
自然语言处理 前端开发 Java
API管理平台:你用的到底是哪个?
本文介绍了多个API管理和文档工具,包括Apifox、Swagger及其增强版Knife4j和RapiDoc、阿里RAP、去哪儿YApi以及Redoc。这些工具各有特色,适用于不同的开发场景。Apifox提供一体化协作平台,支持API文档、调试、Mock和测试;Swagger结合Knife4j适合Java与前端团队,界面美观且功能丰富;YApi则适用于跨语言开发,支持多种API形式的管理;阿里RAP专注于接口文档管理和Mock服务;Redoc则是开源的现代化API文档浏览器。总结而言,选择工具应根据团队需求和技术栈来决定。
1318 16
|
负载均衡 Cloud Native Linux
云原生|docker|基于docker部署高可用keepalived集群
云原生|docker|基于docker部署高可用keepalived集群
716 0
|
Ubuntu 网络协议
ubuntu配置方法DNS
ubuntu配置方法DNS
ubuntu配置方法DNS
|
SQL 存储 运维
Flyway基本介绍及基本使用
使用5W1H方式介绍一下在Java项目开发中使用Flyway来管理数据库版本。。
9716 0
Flyway基本介绍及基本使用
|
8月前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
566 58
|
10月前
|
jenkins 持续交付 开发工具
Jenkins 与 Docker 集成的最佳实践
【8月更文第31天】随着容器技术的兴起,越来越多的团队开始采用 Docker 来构建和部署应用。Docker 提供了一种轻量级的虚拟化方法,使得应用可以在任何地方以相同的方式运行,这极大地提高了开发效率和部署的一致性。与此同时,Jenkins 作为一种广泛使用的持续集成/持续交付(CI/CD)工具,可以帮助团队自动化构建、测试和部署流程。本文将探讨如何将 Docker 与 Jenkins 集成,以简化开发环境的搭建和维护。
651 0
|
10月前
|
jenkins Java 持续交付
自动化魔法:用Jenkins打造Java项目的持续部署流水线
【8月更文挑战第13天】在软件开发中,自动化部署是提高效率与减少错误的关键。Jenkins作为一款强大的持续集成工具,支持Java项目的自动化构建、测试与部署。通过配置Jenkins及其丰富的插件生态(如Git和Maven插件),可实现从代码提交到上线的全自动化流程。此流程包括从GitHub自动拉取代码、使用Maven构建项目,并通过如`mvn clean install`命令执行构建,最后利用插件如“Publish Over SSH”将制品部署至远程服务器。此外,还可配置邮件通知等后处理动作确保发布的稳定可靠。借助Jenkins,开发者能显著加速软件交付周期,同时减少手动操作带来的风险。
298 0
|
Web App开发 JSON 前端开发
Yapi 和 Apifox 哪个更好用?详细体验告诉你
在国产软件接口管理软件中,Apifox 和 yapi 口碑都挺不错的。从功能定位上来说,两者几乎一致,不过具体的功能设计和使用体验,还是会不一样的
Yapi 和 Apifox 哪个更好用?详细体验告诉你
|
Web App开发 网络协议 测试技术
教你用Chrome 浏览器+Postman搞定接口测试
本文介绍了软件测试的两类主要类型:客户端测试(包括UI和兼容性测试)和服务端测试(主要为接口测试)。接口测试能直接检验服务端功能,尤其在复杂如阿里核心链路的系统中,它能更早发现潜在问题。分层测试模型显示,从单元测试到UI测试,越高层的测试发现bug的成本越高。尽管接口测试覆盖广泛,但不能替代客户端测试,因为UI测试关乎用户体验。文中推荐了Postman作为接口测试工具,并展示了如何使用Postman发送GET请求。此外,还介绍了cURL命令行工具及其在接口测试中的应用,包括模拟请求、修改参数和调试。通过实例,读者可以学习如何使用cURL进行GET、POST请求及设置认证和代理。
|
运维 监控 前端开发
功能强大的国产API管理神器 Eolink,亲测好用
功能强大的国产API管理神器 Eolink,亲测好用
369 0
功能强大的国产API管理神器 Eolink,亲测好用