RAP2 详细部署、操作指南(全网最详细)
什么是rap?
RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率
可视化编辑,完善的版本控制,各种格式的导入导出。让前后端约定接口的工作变得十分简单
RAP会自动根据接口文档生成Mock接口,这些接口会自动生成模拟数据,支持复杂的生成逻辑。
rap好处用处
在前端开发过程中,我们需要实时与后端进行数据交互。然而大多数时候,前端开发都是在没有后端数据提供的情况下进行的,这时我们就需要用到假数据模拟。
rap2就是一款在线模拟数据生成器,可以拦截Ajax请求,其作用在于帮助前端工程师独立于后端进行开发,实现前后端分离。
优点:
支持mock.js语法:RAP本身基于mcok.js
支持接口管理:可管理url地址,不同模块分类。
支持团队协作:拥有团队仓库
支持历史修改操作查看:可查看接口修改情况,但不支持操作回溯。
接口共享:不需要重复编写接口
自动化测试:一键测试接口情况
部署
- 前后端部署在同一台机器上,所需环境如下:(一定注意软件版本,版本很重要!)
Node.js 8.9.4+
npm 6.9.0+
MySQL 5.7+
Redis 4.0+
已有系统环境:
CentOS 7.2
Git 1.8.3.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 安装会比较慢,因为服务器是在国外。
如果上面的安装不成功的,我们可以使用二进制包安装。
1.wget https://nodejs.org/dist/latest-v8.x/node-v8.14.0-linux-x86.tar.gz
2.tar -zxvf node-v8.14.0-linux-x64.tar.gz
3.mv node-v8.14.0-linux-x64 /opt/node
4.ln -s /opt/node/bin/node /usr/bin/node
5.ln -s /opt/node/bin/npm /usr/bin/npm
配置淘宝镜像源
安装淘宝镜像源
npm install -g cnpm --registry=http://registry.npm.taobao.org
安装 pm2
npm install -g pm2
- 安装mysql
rpm包安装:
在centos7上要先移除mariadb
yum -y remove mariadb*
下载mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
解压mysql下载的包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
安装依赖:
yum install libaio.so.1*
yum install perl
安装mysql
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
启动:
systemctl start mysqld
进入mysql修改密码:
mysq l> update mysql.user set authentication_string=password('sunqing') where user='root';
授权:
mysql > grant all on *.* to 'root'@'%' identified by 'sunqing';
建库:(下面要用到,或者都会在做)
mysql > CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
重启一下
systemctl restart mysql
- 安装redis
编译安装 先装依赖
1、安装gcc套装
yum -y install gcc glibc glibc-kernheaders glibc-common glibc-devel make
2.升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3. 设置永久升级
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
4.安装redis
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar xzf redis-4.0.11.tar.gz
cd redis-4.0.11
make(这块我装的时候不成功一直报错)如果你也报错试一下这个命令 make MALLOC=libc
5.启动redis实例
[root@localhost src]# ./redis-server //注意路径在redis的/redis-4.0.11/src
21522:C 17 Jun 2019 15:36:52.038 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21522:C 17 Jun 2019 15:36:52.038 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=21522, just started
21522:C 17 Jun 2019 15:36:52.038 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 21522
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
出现以上界面说明安装成功
[root@localhost src]# ./redis-cli --version //查询版本
redis-cli 4.0.11
6.开启 Redis 服务守护进程
# 以./redis-server 启动方式,需要一直打开窗口,不能进行其他操作,不太方便,以后台进程方式启动 redis
7.[root@localhost src]# vim /app/redis-4.0.11/redis.conf
需要找到复制到该目录下
daemonize no 改为 daemonize yes # 以守护进程运行
8.启动
[root@localhost src]# ./redis-server /app/redis-4.0.11/redis.conf //注意路径
21845:C 17 Jun 2019 15:44:14.129 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21845:C 17 Jun 2019 15:44:14.129 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=21845, just started
21845:C 17 Jun 2019 15:44:14.129 # Configuration loaded
9.查看一下端口
ss -auntpl |grep 6379
10.验证redis
[root@localhost src]# ./redis-cli
127.0.0.1:6379>
11.可以设置密码也可以不设置看自己
12.以上所有的基础环境都装好了
- 后端 rap2-delos 安装
1.安装git
yum install -y git
2.下载源码
git clone https://github.com/thx/rap2-delos.git
3.修改配置文件(如图所示!看图 config.dev.ts config.local.ts 这两个我主要改的是数据库 config.prod.ts这个是redis)
进入目录:rap2-delos/src/config
目录文件如下:
├── config.dev.ts
├── config.local.ts
├── config.prod.ts
└── index.ts
修改三个config文件的mysql数据库配置和redis配置:
serve: {
port: 8080,
},
...
db: {
dialect: 'mysql',
host: '192.168.40.230',
port: 3306,
username: 'root',
password: 'sunqing',
database: 'RAP2_DELOS_APP',
pool: {
max: 5,
min: 0,
idle: 10000,
},
logging: false,
},
其他两个配置文件也修改对应的db配置,redis配置只需修改prod,因为安装在本机,所以local和dev的redis配置可以不用修改。
端口默认是80,这里修改为8080。
之前尝试过只修改prod配置,但是create-db好像不成功,为保证100%成功,直接改三个文件。
其中prod的配置略有区别但道理都是一样:
serve: {
port: (process.env.EXPOSE_PORT && parseInt(process.env.EXPOSE_PORT)) || 8080,
},
...
db: {
dialect: 'mysql',
host: process.env.MYSQL_URL || '192.168.40.230',
port: (process.env.MYSQL_PORT && parseInt(process.env.MYSQL_PORT)) || 3306,
username: process.env.MYSQL_USERNAME || 'root',
password: process.env.MYSQL_PASSWD || 'root',
database: process.env.MYSQL_SCHEMA || 'RAP2_DELOS_APP',
pool: {
max: 80,
min: 0,
idle: 20000,
acquire: 20000,
},
logging: false,
},
redis: {
host: process.env.REDIS_URL || 'localhost',
port: (process.env.REDIS_PORT && parseInt(process.env.REDIS_PORT)) || 6379
}
4.MySQL创建schema(上面建了,这就不用建了)
CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
5.编译(重要)
切换到根目录 到/opt/rap2-delos下面 (opt是我自己的)
cd ../..
6.安装依赖包
npm install
7.安装PM2
可能会出现什么gcc版本过低等问题,出现后请自行升级
npm install -g pm2
8.安装TypeScript编译包
npm install -g typescript
9.编译
修改了项目的代码或配置文件之后一定重新编译,不然修改不起作用
如果报错说没有权限创建文件夹,可以在后面加上--unsafe-perm参数
npm run build
10.初始化数据库
初始化数据库
确保数据库可连,控制台会打印初始化内容和进度
npm run create-db
11.检查
npm run check
12.启动后端
npm run start
6. 检查是否启动成功
- 访问服务器8080端口,出现如下信息表明启动成功:如图所示
查看服务状态和日志
ss -auntpl| grep 8080
pm2 list(看服务起没起来)一定要是online
pm2 logs
7. 前端 rap2-dolores 安装
前端和后端启动过程差不多:
1.. 获取源代码
git clone https://github.com/thx/rap2-dolores.git
2. 修改配置文件(看图)
cd rap2-dolores/src/config
# 文件目录如下
├── config.dev.js
├── config.prod.js
└── index.js
# 修改两个配置文件的如下部分
serve: 'http://192.168.5.224:8080'
# 注意ip不能写localhost,即使是在同一个机器上写的前端和后端
3. 回到根目录
cd ../..
4. 安装依赖包
npm install
5. 编译
# 修改了项目的代码或配置文件之后一定重新编译,不然修改不起作用
# 如果报错说没有权限创建文件夹,可以在后面加上--unsafe-perm参数
npm run build
6. 安装serve
npm install -g serve
# 启动
# 其中./build是编译生成的文件路径,8090是前端访问的端口
serve -s ./build -p 8090
- 访问服务器8090端口:(恭喜你已经快完成了)
ip+端口
可直接申请账号,申请账号后可登陆。
9. 配置nginx(这块我做了一个nginx的代理 不做的话老报404 一会页面就找不到了)
1.配置nginx的Yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
2.安装
yum -y install nginx (注意先不要启动)
3.修改配置文件
vim /etc/nginx/conf.d/default.conf
server {
listen 8090;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /opt/rap2-dolores/build; //注意你的路径
try_files $uri /index.html; //要写
}
4.启动nginx
systemctl start nginx
5.这样你访问的话端口就一直是8090 不会在变了
- 部署完成