介紹
Yapi是去哪兒網開源的一款接口管理工具。接口的文檔的管理是一件比較痛苦的事情,後端開發不得不使用很長的時間去維護繁雜冗餘的文檔,而前端開發也因爲文檔的不精確也浪費開發時間。
工作中接口返回的參數值包含很多的異常場景,前端不得不寫一大串的判斷邏輯。配合前段調試需要模擬很多場景,比較費時費力,而且很多場景到了項目後期才能調試,在提交測試時時間就會顯得很緊張。
總結起來文檔式的接口管理方式浪費心裏和時間,Aapi這款工具的旨意將接口作爲一個公共的可視化的方式打通前段、後臺、測試環節,整合在一塊,共同使用維護,降低接口的維護成本。
這款工具免費開源,部署簡單,還具有官方文檔。
這是從鏈接:https://www.jianshu.com/p/5bda5556c149 借來的前言,此文章對於搭建yapi的講解非常細緻,但是我們搭建的過程總不是那麼順利的,我來一步步的執行並記錄處理過程中遇到的問題。ps:我已經搭建失敗了兩個服務器,新買了一個月的服務器來準備隨時重置
1、端口設置
如果我們用的是雲服務器,那麼我們要先在安全組策略中把9090端口開放,因爲在yapi搭建的最後又可視化操作時使用的端口就是9090,我的是阿里雲的服務器,配置安全組相信大部分人都會,但是本着細緻的精神就簡單說一下
1、
2、
3、
安裝環境準備
- 操作系統:centos 7
- 環境要求:
- nodejs>7.6
- mongodb>2.6
- git
安裝nodejs
- 獲取資源(部署nodejs儘可能選擇偶數版本,因爲偶數版本官方有較長的維護時間,故這次選擇8.x。)
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
- 安裝
yum install -y nodejs
- 查看版本
node -v
- 查看npm版本
npm -v
安裝mongodb
- 更新yum源,非必須但是更新一下無害
yum -y update
- 添加mongodb源文件,在/etc/yum.repos.d 創建一個 mongodb-org.repo 文件
touch /etc/yum.repos.d/mongodb-org.repo
- 編輯mongodb-org.repo文件
vim /etc/yum.repos.d/mongodb-org.repo
- 添加文件內容
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
- 安裝mongodb
yum install -y mongodb-org
- 啓動mongodb
service mongod start
- 設置開機啓動
chkconfig mongod on
- 打開moMongoDB(可忽略)
/bin/mongo
- 配置遠程訪問
- 修改mongod.conf配置文件
vim/etc/mongod.conf
- 註釋 bindIp: 127.0.0.1
#bindIp: 127.0.0.1
- 重啓mongod
service mongod restart
安裝git
- 官方推薦,在內網部署的時候安裝git,可以根據自己所需安裝
yum -y install git
搭建YApi環境
搭建YApi
- 準備環境搭建完成後,開始搭建YApi,安裝命令
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
-
實例截圖:
- 執行 yapi server 啓動可視化部署程序,瀏覽器打開提示窗口上的地址,非本地服務器,將0.0.0.0替換指定的域名或IP,進入部署頁面。
- 這時候就用到剛纔的設置安全組了,如果沒有設置安全組的入,我們的9090端口是不允許我們外部訪問的
配置好9090端口後就可以正常訪問
填寫公司名稱後點擊開始部署就會自動部署,如果沒報錯恭喜你順利安裝,我在這就又遇到了初始化數據庫mongdb的錯誤
可以看到提示信息,數據庫鏈接的設置,根據錯誤提示我們找到了是在node環境使用mongoose,參考地址:https://blog.csdn.net/WU5229485/article/details/100737164
我們找到了一篇相關的錯誤文章:https://www.cnblogs.com/superhin/p/12340560.html
但是我們沒有他相應的地址:
在知道了是在utils.js裏寫的鏈接,我們先進到my-yapi文件中
隨後使用命令:
find -name utils.js
查詢到了目錄下所有的utils.js的文件
排查裏面那些調用mongdb的js來進行設置:useUnifiedTopology: true
裏面標紅的是唯一配置options 的,來看一下源代碼
修改後