一 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 在阿里巴巴广泛使用, 也有许多著名的公司在用.
界面截图:
二 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 Node.JS
- # Using Ubuntu
- curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
- sudo apt-get install -y Node.JS
- # Using Debian, as root
- curl -sL https://deb.nodesource.com/setup_8.x | bash -
- apt-get install -y Node.JS
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
正常启动:
如果出现下面的错误就是端口被占用了:
- # 编辑正式配置文件(配置正式数据库)
- 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-delos 安装
- # 拉取代码
- 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 &
访问 :
出现这个即意味着安装成功.
三 注意事项:
错误一
在安装依赖的时候
因为我是二进制安装的 node, 所以有权限问题, 最好是 yum 安装 Node.JS 这样权限问题就不存在了.
或者我们给我们的目录可写的权限
错误截图:
错误二
yum 安装 Node.JS , 会总报网络错误, 我们可以多次运行 yum install -y Node.JS
错误三
如果我们打开界面是一直在加载的话, 那么就是我们在配置的时候使用的是 127.0.0.1:8080, 我们需要使用的是对应的内网 ip. 例如: 192.168.1.190
来源: https://www.cnblogs.com/operationhome/p/10038469.html