linux 上部署 YApi 視覺化介面管理平臺

街尾有條狗發表於2020-09-24

linux 上部署 YApi 視覺化介面管理平臺:

YApi 是一個高效、易用、功能強大的視覺化介面管理平臺,官方地址 : http://yapi.demo.qunar.com/

環境要求

  • nodejs(7.6+): 本次安裝版本:v12.16.1
  • mongodb(2.6+):
  • git:
    先上效果圖:
    在這裡插入圖片描述

具體步驟:

1、安裝node.js

1.1官網下載:https://nodejs.org/en/download/在這裡插入圖片描述
1.2 上傳伺服器並解壓

建立目錄:

mkdir /home/tools/

解壓:

tar -xvf  /home/tools/node-v12.16.1-linux-x64.tar.xz

重新命名解壓資料夾名:

mv node-v12.16.1-linux-x64.tar.xz nodejs

解壓成功之後即是可以執行的二進位制檔案,只需要為node和npm建立兩個軟連線,使之可以全域性執行即可:

//前面地址為實際地址
ln -s /home/tools/nodejs/bin/node /usr/local/bin/node
ln -s /home/tools/nodejs/bin/npm /usr/local/bin/npm

以後在任意路徑下都可以執行node 和 npm兩個命令了,但是由於一些原因,npm在中國的下載速度並不是很理想,我們可以安裝淘寶提供的cnpm來代替其功能,執行以下命令即可全域性安裝cnpm。之後可以直接使用cnpm代替npm,命令格式是一樣的。官方網址 : https://npm.taobao.org/

npm install -g cnpm --registry=https://registry.npm.taobao.org

至此nodejs安裝完畢,可以輸入以下命令檢視node和npm的版本資訊:

node -v

npm -v

執行結果:
在這裡插入圖片描述

2、安裝MongoDB

2.1官網下載地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
2.2解壓壓縮包:
tar -xvf mongodb-linux-x86_64-4.0.13.tgz
2.3重新命名解壓後的資料夾:
mv mongodb-linux-x86_64-4.0.13 mongodb
2.4配置系統環境變數,將mongod路徑新增到系統路徑中,方便隨處執行mongod命令:
vim /etc/profile

鍵盤按下“i”進入編輯模式即可。在檔案的最後加上:

#mongodb 20200404
export PATH=$PATH:/home/tools/mongodb/bin

最後按下“Esc”,輸入“:wq”儲存退出vi編輯模式,

source /etc/profile

使系統環境變數立即生效。
在這裡插入圖片描述

2.5建立MongoDB資料存放資料夾和日誌記錄資料夾,為後面的配置檔案使用:
mkdir -p /home/tools/mongodb/data

mkdir -p /home/tools/mongodb/logs
2.6 建立MongoDB執行時使用的配置檔案:
vim /home/tools/mongodb/bin/mongod.cfg

再輸入以下配置內容:

dbpath = /home/tools/mongodb/data #資料檔案存放目錄
logpath = /home/tools/mongodb/logs/mongod.log #日誌檔案存放目錄
port = 27017 #埠
fork = true #以守護程式的方式啟用,即在後臺執行
#auth=true #需要認證。如果放開註釋,就必須建立MongoDB的賬號,使用賬號與密碼才可遠端訪問,第一次安裝建議註釋
bind_ip=0.0.0.0 #允許遠端訪問,或者直接註釋,127.0.0.1是隻允許本地訪問

esc退出 ,輸入

:wq

儲存退出vim編輯模式即可。注意:註釋符號#和資料之間必須是一個空格。

在這裡插入圖片描述

2.7啟動MongoDB服務:

進入bin目錄下,載入配置檔案方式啟動:

cd /home/tools/mongodb/bin

./mongod -f mongod.cfg

在這裡插入圖片描述

檢視埠對映檢查是否啟動成功:

netstat -nltp|grep mongod 

顯示:
在這裡插入圖片描述

或者:

netstat -nltp|grep 27017

顯示:
在這裡插入圖片描述

或者:

ps -ef | grep mongo 

顯示:
在這裡插入圖片描述

或者:

top 

顯示:

]

2.8 關閉MongoDB服務
2.8.1 mongod命令關閉
./mongod -f mongod.cfg  --shutdown

注意要加上配置檔案路徑引數,和啟動時一致,否則會找預設目錄,導致報錯:

在這裡插入圖片描述

這樣能幹淨的關閉 MongoDB 服務,會釋放記憶體中MongoDB佔用的記憶體,推薦使用。

2.8.2 kill程式
ps -ef | grep mongo

kill -9 xxx(pid)

有時可能會出現錯誤關不掉時就可使用這種強制方式,但注意這種方式可能並不會馬上釋放記憶體中MongoDB佔用的記憶體,且如果這時候有資料往MongoDB新增可能會導致資料丟失。

3.安裝Git

3.1 從GitHub上下載最新的原始碼編譯後安裝

進入git在GitHub上釋出版本頁面https://github.com/git/git/releases,這個頁面我們可以找到所有git已釋出的版本。這裡我們選擇最新版的tar.gz包。

在這裡插入圖片描述

3.2 上傳並解壓
tar -xvf git-2.26.0.tar.gz

解壓後重新命名解壓後的資料夾

mv git-2.26.0 git_source
3.3 編譯原始碼

進入到解壓後的資料夾進行原始碼編譯,

cd git_source

不過在此之前需要安裝編譯所需要的依賴:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

在這裡插入圖片描述

耐心等待安裝完成,中途出現提示的時候輸入y並按回車:

在這裡插入圖片描述

至此,依賴安裝完成。

3.4 編譯git原始碼
make prefix=/home/tools/git all
3.5 安裝git 至 /home/tools/git 路徑
make prefix=/home/tools/git install
3.6 配置環境變數
vi /etc/profile 

在底部加上

export PATH=$PATH:/home/tools/git/bin

( 輸入 :wq! 儲存修改)

重新整理環境變數

source /etc/profile
3.7 檢視Git是否安裝完成
git --version

至此,從github上下載最新的原始碼編譯後安裝git完成。

4 部署yapi

第一步:安裝

npm install -g yapi-cli --registry https://registry.npm.taobao.org

第二步:配置yapi

ln -s /home/tools/node/bin/yapi /usr/bin/yapi

第三步:啟動配置

如果不進行第二步,配置,可能會找不到yapi

yapi server

開啟連結 http://127.0.0.1:9090 進行初始化配置

在這裡插入圖片描述

在這裡插入圖片描述

備註:

在這裡插入圖片描述

初始化時候mangodb資料庫初始化失敗,解決方法:

修改檔案 /home/tools/yapi/my-yapi/vendors/server/utils/db.js 在原來的22行位置

let options = {useNewUrlParser: true, useCreateIndex: true}

新增useUnifiedTopology: true選項,刪除mongo裡面的資料庫,和init.lock檔案,然後執行npm run install-server

第四步:啟動伺服器

node /home/tools/yapi/my-yapi/vendors/server/app.js

開啟連結 http://127.0.0.1:3000 進行訪問即可

部署問題

使用Xshell啟動服務,當關閉Xshell,服務也隨之關閉

解決:

使用pm2部署

第一步:安裝pm2

 npm install -g pm2

第二步:配置連線pm2

ln -s /home/tools/node/bin/pm2 /usr/bin/pm2

第三步:在專案新增配置檔案my-yapi_processes.json

my-yapi_processes.json檔案可自定義

新增如下內容:

{
  "apps" : [{
    "name" : "my-yapi",
    "script": "/home/tools/yapi-my-yapi/vendors/server/app.js",
    "cwd": "./",
    "watch":[
        "server",
        "static",
        "test",
        "exts",
        "common"
    ]
    }]
}

啟動服務:

pm2 start /home/tools/yapi/my-yapi/vendors/my-yapi_process.json 

結果如下:
在這裡插入圖片描述

關閉服務:

pm2 stop /home/tools/yapi/my-yapi/vendors/my-yapi_process.json 

結果如下:
在這裡插入圖片描述

相關文章