RAP2的安装和部署
目录
- 1、 Node.js 安装
- 2、 Mysql 5.7+ 安装
- 3、 Redis 安装见文章
- 4、 后端 rap2-delos 安装
- 5、 前端 rap2-dolores 安装
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 在阿里巴巴广泛使用,也有许多著名的公司在用。
以下的安装步骤都是基于Centos 8 进行安装
1、Node.js 安装(二进制包安装)
yum install xz
wget https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-x64.tar.xz
xz-d node-v14.16.0-linux-x64.tar.xz
tar -xf node-v14.16.0-linux-x64.tar
mv node-v14.16.0-linux-x64 /opt/node
ln -s /opt/node/bin/node /usr/bin/node
ln -s /opt/node/bin/npm /usr/bin/npm
# 查看版本,有信息表示安装成功
node -v
# v14.16.0
npm -v
# 6.14.11
配置淘宝镜像
npm install -g cnpm --registry=http://registry.npm.taobao.org
安装 pm2
npm install -g pm2
1、常用命令
pm2 list #查看进程
pm2 stop/reload/restart/delete all #停止/重载/重启/删除 所有进程
pm2 stop/reload/restart/delete 0 #停止/重载/重启/删除 pm2进程列表中进程为0的进程
pm2 logs [--raw] #显示所有进程的日志
pm2 flush #清空所有日志文件
pm2 reloadLogs #重载所有日志
2、问题:Linux 下安装pm2后找不到pm2命令解决方法
使用npm install pm2 -g安装完成时,找不到pm2命令
在安装提示中可以看到pm2安装位置,此时我们只要使用以下命令将pm2放入系统路径下就可以了:
ln -s /opt/node/lib/node_modules/pm2/bin/pm2 /usr/local/bin/
2、Mysql 5.7+ 安装
CentOS8 安装 MySQL8.0
1、Mysql官网下载RPM包
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
2、检查是否已安装(强力卸载)
for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done
rm -rf /var/lib/mysql && rm -rf /etc/my.cnf && rm -rf /usr/share/mysql
# 备注:可配合以下方式查找
whereis mysql
find /-name mysql
yum remove mysql mysql-server mysql-libs
3、安装rpm包
yum localinstall rpm
4、yum安装
yum update
yum install mysql-server
5、查看mysql是否安装成功
ps -ef | grep mysql
mysqladmin --version
# mysqladmin Ver 8.0.21 for Linux on x86_64 (Source distribution)
6、启动mysql服务
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
7、相关安装目录
- /usr/bin //相关命令
- /usr/share/mysql //配置文件目录
- /var/lib/mysql //数据库文件存放目录
- /etc/my.cnf.d //mysql的启动配置文件
-
- client.cnf //mysql客户端配置文件
-
- mysql-server.cnf //mysql守护进程配置文件
-
- mysql-default-authentication-plugin.cnf //默认权限授权配置文件
8、mysql登录(不用密码登录)
mysql -uroot
9、重置root密码
use mysql;//选择数据库
alter user 'root'@'localhost' identified by'root';//修改密码
flush privileges;//刷新权限表
10、重新登录(使用新密码)
mysql -uroot -p
11、创建用户
create user 'username'@'%' identified by 'password';
12、授权
# 如果要外网访问所有库,就像root用户一样就这样写
grant all privileges on *.* to 'username'@'%';
# 授予某个库下所有表的权限
grant all privileges on onedatabase.* to 'username'@'%';
# 授予某个库下某个表的权限
grant all privileges on onedatabase.onetable to 'username'@'%';
# 授予某个库下某个表的读取权限
grant select on onedatabase.onetable to 'username'@'%';
3、Redis 安装
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
启动服务端
src/redis-server
# 后台运行
nohup ./src/redis-server ./redis.conf >>/home/redis/log/redis.log 2>&1 &
客户端连接与测试
src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
redis常用命令
redis-cli
-h 指定远程登陆ip
-p 指定远程redis访问端口
-n 指定库b编号
-a 指定密码
示例
./redis-cli -h 127.0.0.1 -p 6379 -n 3 -a djx
远程执行命令
清空所有的数据
./redis-cli -h 127.0.0.1 -p 6379 -n 3 -a djx flushall
通过在redis的配置文件redis.conf 进行配置
redis 指定端口,默认是6379,我们可以更改成公司内部统一的端口。
port 6379
redis 指定监听,redis 默认绑定的是 127.0.0.1 ,也就是只能本地访问了,如果我们需要让外网也可以进行访问,那么我们需要更改默认的绑定
bind 0.0.0.0
redis 指定日志文件存放位置,默认日志文件的存放位置是为空的,也就是直接在控制台输出了,我们可以在logfile中配置日志文件路径。
logfile "/var/log/redis.log"
redis 指定数据存放位置(要指定),在redis.conf 设置
# The filename where to dump the DB
dbfilename dump.rdb #指定数据存放的文件名称
# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir ./ #指定数据存放的位置。
创建目录
mkdir /opt/redis/data/
在配置文件中指定目录
dir /opt/redis/data/
4、后端 rap2-delos 安装
安装git
yum install -y git
创建数据库 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)
表示正常
5、前端 rap2-dolores 安装
# 拉取代码
git clone https://github.com/thx/rap2-dolores.git
# 切换目录
cd rap2-dolores
# 初始化
npm install
正式配置,必须配置
配置文件路径:/src/config/config.prod.js
module.exports = {
serve: 'http://127.0.0.1:9001',
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 9002
-p 为指定端口
# 后台运行
nohup serve.js -s ./build/ -p 9002 &