天天看點

接口文檔管理神器RAP2安裝和部署

一 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安裝和部署

二 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 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           

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安裝和部署

如果出現下面的錯誤就是端口被占用了:

接口文檔管理神器RAP2安裝和部署
# 編輯正式配置檔案(配置正式資料庫)
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-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  &           

通路 :

接口文檔管理神器RAP2安裝和部署

出現這個即意味着安裝成功。

三 注意事項:

錯誤一

在安裝依賴的時候

因為我是二進制安裝的node,是以有權限問題,最好是yum安裝nodejs 這樣權限問題就不存在了。

或者我們給我們的目錄可寫的權限

錯誤截圖:

接口文檔管理神器RAP2安裝和部署

錯誤二

yum 安裝nodejs ,會總報網絡錯誤,我們可以多次運作 yum install -y nodejs

錯誤三

如果我們打開界面是一直在加載的話,那麼就是我們在配置的時候使用的是127.0.0.1:8080,我們需要使用的是對應的内網ip。例如:192.168.1.190