1. 程式人生 > >linux 上部署 YApi 視覺化介面管理平臺

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

## linux 上部署 YApi 視覺化介面管理平臺: [YApi 是一個高效、易用、功能強大的視覺化介面管理平臺](http://yapi.demo.qunar.com/),官方地址 : [http://yapi.demo.qunar.com/](http://yapi.demo.qunar.com/) ### 環境要求 - nodejs(7.6+): 本次安裝版本:v12.16.1 - mongodb(2.6+): - git: 先上效果圖: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414094702743.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) ### 具體步驟: #### 1、安裝node.js ##### 1.1官網下載:[https://nodejs.org/en/download/](https://nodejs.org/en/download/)![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414093725905.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) ##### 1.2 上傳伺服器並解壓 建立目錄: ```shell mkdir /home/tools/ ``` 解壓: ```shell tar -xvf /home/tools/node-v12.16.1-linux-x64.tar.xz ``` 重新命名解壓資料夾名: ```shell mv node-v12.16.1-linux-x64.tar.xz nodejs ``` 解壓成功之後即是可以執行的二進位制檔案,只需要為node和npm建立兩個軟連線,使之可以全域性執行即可: ```shell //前面地址為實際地址 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/](https://npm.taobao.org/) ```shell npm install -g cnpm --registry=https://registry.npm.taobao.org ``` 至此nodejs安裝完畢,可以輸入以下命令檢視node和npm的版本資訊: ```shell node -v npm -v ``` 執行結果: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092137880.png) #### 2、安裝MongoDB ##### 2.1官網下載地址:[https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz](https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz) ##### 2.2解壓壓縮包: ```shell tar -xvf mongodb-linux-x86_64-4.0.13.tgz ``` ##### 2.3重新命名解壓後的資料夾: ```shell mv mongodb-linux-x86_64-4.0.13 mongodb ``` ##### 2.4配置系統環境變數,將mongod路徑新增到系統路徑中,方便隨處執行mongod命令: ```shell vim /etc/profile ``` 鍵盤按下“i”進入編輯模式即可。在檔案的最後加上: ```shell #mongodb 20200404 export PATH=$PATH:/home/tools/mongodb/bin ``` 最後按下“Esc”,輸入“:wq”儲存退出vi編輯模式, ```shell source /etc/profile ``` 使系統環境變數立即生效。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092417289.png) ##### 2.5建立MongoDB資料存放資料夾和日誌記錄資料夾,為後面的配置檔案使用: ```shell mkdir -p /home/tools/mongodb/data mkdir -p /home/tools/mongodb/logs ``` ##### 2.6 建立MongoDB執行時使用的配置檔案: ```shell vim /home/tools/mongodb/bin/mongod.cfg ``` 再輸入以下配置內容: ```shell 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退出 ,輸入 ```shell :wq ``` 儲存退出vim編輯模式即可。注意:註釋符號#和資料之間必須是一個空格。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092510298.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) ##### 2.7啟動MongoDB服務: 進入bin目錄下,載入配置檔案方式啟動: ```shell cd /home/tools/mongodb/bin ./mongod -f mongod.cfg ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092537677.png) 檢視埠對映檢查是否啟動成功: ```shell netstat -nltp|grep mongod ``` 顯示: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092552898.png) 或者: ```shell netstat -nltp|grep 27017 ``` 顯示: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092605739.png) 或者: ```shell ps -ef | grep mongo ``` 顯示: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020041409261671.png) 或者: ```shell top ``` 顯示: ![\] ](https://img-blog.csdnimg.cn/20200414092627285.png) ##### 2.8 關閉MongoDB服務 ###### 2.8.1 mongod命令關閉 ```shell ./mongod -f mongod.cfg --shutdown ``` 注意要加上配置檔案路徑引數,和啟動時一致,否則會找預設目錄,導致報錯: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092708103.png) 這樣能幹淨的關閉 MongoDB 服務,會釋放記憶體中MongoDB佔用的記憶體,推薦使用。 ###### 2.8.2 kill程序 ```shell ps -ef | grep mongo kill -9 xxx(pid) ``` 有時可能會出現錯誤關不掉時就可使用這種強制方式,但注意這種方式可能並不會馬上釋放記憶體中MongoDB佔用的記憶體,且如果這時候有資料往MongoDB新增可能會導致資料丟失。 #### 3.安裝Git ##### 3.1 從GitHub上下載最新的原始碼編譯後安裝 進入git在GitHub上釋出版本頁面[https://github.com/git/git/releases](https://github.com/git/git/releases),這個頁面我們可以找到所有git已釋出的版本。這裡我們選擇最新版的`tar.gz`包。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092735830.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) ##### ##### 3.2 上傳並解壓 ```shell tar -xvf git-2.26.0.tar.gz ``` 解壓後重命名解壓後的資料夾 ```shell mv git-2.26.0 git_source ``` ##### 3.3 編譯原始碼 進入到解壓後的資料夾進行原始碼編譯, ```shell cd git_source ``` 不過在此之前需要安裝編譯所需要的依賴: ```shell yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/202004140928057.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) 耐心等待安裝完成,中途出現提示的時候輸入`y`並按回車: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414092820368.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) 至此,依賴安裝完成。 ##### 3.4 編譯git原始碼 ```shell make prefix=/home/tools/git all ``` ##### 3.5 安裝git 至 /home/tools/git 路徑 ```shell make prefix=/home/tools/git install ``` ##### 3.6 配置環境變數 ```shell vi /etc/profile ``` 在底部加上 ```shell export PATH=$PATH:/home/tools/git/bin ``` ( 輸入 :wq! 儲存修改) 重新整理環境變數 ```shell source /etc/profile ``` ##### 3.7 檢視Git是否安裝完成 ```shell git --version ``` 至此,從github上下載最新的原始碼編譯後安裝git完成。 #### 4 部署yapi **第一步:安裝** ```shell npm install -g yapi-cli --registry https://registry.npm.taobao.org ``` **第二步:配置yapi** ```shell ln -s /home/tools/node/bin/yapi /usr/bin/yapi ``` **第三步:啟動配置** 如果不進行第二步,配置,可能會找不到yapi ```shell yapi server ``` 開啟連結 [http://127.0.0.1:9090](http://127.0.0.1:9090) 進行初始化配置 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414093015830.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQ3OTQ5NA==,size_16,color_FFFFFF,t_70) ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020041409303375.png) ***備註:*** ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414093049215.png) 初始化時候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` **第四步:啟動伺服器** ```shell node /home/tools/yapi/my-yapi/vendors/server/app.js ``` 開啟連結 [http://127.0.0.1:3000](http://127.0.0.1:3000) 進行訪問即可 **部署問題**: 使用Xshell啟動服務,當關閉Xshell,服務也隨之關閉 **解決:** 使用pm2部署 **第一步:安裝pm2** ```shell npm install -g pm2 ``` **第二步:配置連線pm2** ```shell ln -s /home/tools/node/bin/pm2 /usr/bin/pm2 ``` **第三步:在專案新增配置檔案my-yapi_processes.json** my-yapi_processes.json檔案可自定義 新增如下內容: ```json { "apps" : [{ "name" : "my-yapi", "script": "/home/tools/yapi-my-yapi/vendors/server/app.js", "cwd": "./", "watch":[ "server", "static", "test", "exts", "common" ] }] } ``` **啟動服務:** ```shell pm2 start /home/tools/yapi/my-yapi/vendors/my-yapi_process.json ``` 結果如下: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200414093109984.png) **關閉服務:** ```shell pm2 stop /home/tools/yapi/my-yapi/vendors/my-yapi_process.json ``` 結果如下: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/202004140932371