RAP2的安装和部署

原创
2021/04/14 08:54
阅读数 920

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  &
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部