ubuntu16.04下部署YApi教程及踩坑記錄

    YApi是一個接口管理平臺,可以用來實現mock測試,更好地幫助前後端分離開發。官網:https://yapi.ymfe.org/index.html

    使用YApi平臺,需要部署到我們自己的服務器上。官方也給了教程:https://yapi.ymfe.org/devops/index.html,但感覺寫的不是很適合新手。本文只是一個引導作用,不會寫的特別詳細,每個人的環境和具體的安裝方法都不一樣,而且裏面涉及的知識點也很多,不可能全部講清楚。很多東西大家善用搜索,都可以解決。

一、環境要求

1、如果服務器上使用nginx,需要配置 nginx支持websocket,修改nginx.conf文件

在location /添加
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

2、部署YApi需要的環境

    nodejs(7.6+)

    mongodb(2.6+)

    git

    這些環境的搭建不細說,網上有很多教程,提幾點需要注意的。

(1)nodejs會因爲某些版本不穩定在接下來的YApi部署過程中報錯(Cannot find module '../lib/utils/unsupported.js'),那麼需要重新安裝穩定版本的nodejs。在官網上可以看到推薦的nodejs版本,我們可以先安裝低版本的nodejs再使用n模塊管理安裝穩定版本。

    如果你在安裝nodejs過程中設置過軟連接,那麼接下來的yapipm2也要設置軟連接

(2)mongodb安裝完成後默認沒有訪問控制,可以選擇開啓或者不開啓,這裏關係到以後步驟的是,接下來會需要數據庫存放數據,所以請保證你配置的時候填寫的數據庫你已經創建了,如果你開啓訪問控制,那麼你填寫的驗證用戶需要存在且有讀寫及以上的權限,mongodb中用戶的角色及數據庫、用戶的創建請自行查閱資料。

(3)安裝git過程中出現錯誤,執行

sudo apt-get install git

    報錯

Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

    繼續

apt-get update

    卡在waiting for headers

    手動刪除文件夾

rm /var/lib/apt/lists/*
rm /var/lib/apt/lists/partial/*

    然後

apt-get update
sudo apt-get install git
git --version

二、安裝

1、採用官方推薦的可視化部署方式

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

    成功執行這兩個命令後,根據提示在瀏覽器中打開頁面,

    我用的是雲服務器,有指定域名就打開http://你的域名:9090,沒有域名就打開http://服務器IP:9090,保證9090端口開放!!!下面的3000端口也是一樣!!!

 

    打開後的界面就是這樣,填寫好對應的信息,點擊開始部署。發生報錯,就根據錯誤信息查找原因。我在安裝的時候有一個報錯

Error:  (node:23535) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

    這個錯誤是因爲mongodb版本的問題,其中的服務在mongo3的時候就已經棄用了,後來和大家交流了下,不用管,可以正常使用,也確實是的。這個問題官方已經在最新版裏面修復了,所以以後安裝也不會出現這個報錯了(我安裝的時候是1.4.1)。

2、部署成功之後,啓動服務,在自己剛剛填寫的部署路徑下,執行node . /vendors/server/app.js,啓動服務後,在瀏覽器中打開http://域名或IP:3000,用剛剛設置的管理賬號和默認密碼(ymfe.org就可以登陸了,登錄後可以修改密碼。

三、用pm2管理node服務器

    node運行佔用窗口且關閉後服務也終止了,pm2可以保持服務永久開啓

npm install -g pm2
pm2 start 部署路徑/vendors/server/app.js --name="yapi" // 給服務一個名稱

相關命令:
pm2 list // 查看當前正在運行的服務
pm2 stop yapi  // 通過設置的名稱關閉指定的服務
pm2 restart yapi  // 通過設置的名稱重啓指定的服務

 

四、config.json相關配置

    主要包括配置郵箱、LDAP登錄、禁止註冊和版本通知,官方教程寫的很清楚了,config.json在部署目錄下,修改配置文件後,需要重啓服務

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章