目录html
RAP2是在RAP1基础上重作的新项目,它包含两个组件(对应两个Github Repository)。前端
什么是RAP?node
rap是一款API 文档管理工具,在 RAP 中,能够定义接口的 URL、请求 & 响应细节格式等等。同时 RAP 还提供 MOCK 服务、测试服务等自动化工等工具,帮助开发团队高效开发。mysql
git 地址:linux
https://github.com/thx/rap2-doloresgit
https://github.com/thx/rap2-delosgithub
特色redis
界面截图:sql
如下的安装步骤都是基于Centos 7 进行安装typescript
#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
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';
redis 建议不配置密码,并绑定127.0.0.1 ,只能本地访问
安装好以后,并之后台任务运行。
安装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)
表示正常
# 拉取代码 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安装nodejs 这样权限问题就不存在了。
或者咱们给咱们的目录可写的权限
错误截图:
yum 安装nodejs ,会总报网络错误,咱们能够屡次运行 yum install -y nodejs
若是咱们打开界面是一直在加载的话,那么就是咱们在配置的时候使用的是127.0.0.1:8080,咱们须要使用的是对应的内网ip。例如:192.168.1.190