目錄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