前言
????因?yàn)樽罱鼡Q了新公司膨桥,前后端對接中沒有沒有使用任何接口文檔系統(tǒng),直接都是丟個txt或者word文件唠叛,為了提升開發(fā)效率只嚣,嘗試了使用YApi進(jìn)行接口文檔管理。
????YApi旨在為開發(fā)艺沼、產(chǎn)品册舞、測試人員提供更優(yōu)雅的接口管理服務(wù),可以幫助開發(fā)者輕松創(chuàng)建障般、發(fā)布调鲸、維護(hù) API盛杰。支持權(quán)限控制、可視化接口管理线得、mock接口饶唤、自動化測試徐伐、數(shù)據(jù)導(dǎo)入贯钩、插件機(jī)制等功能。同時支持內(nèi)網(wǎng)自己部署办素,項(xiàng)目由去哪兒網(wǎng)大前端技術(shù)中心維護(hù)角雷,使用了Koa + mongoose框架開發(fā),不管是部署還是配置方面對前端很友好性穿,那么接下來開整吧勺三!
環(huán)境準(zhǔn)備
????因?yàn)閅Api是基于node開發(fā),數(shù)據(jù)存儲在mongodb數(shù)據(jù)庫需曾,因此在安裝之前需要在服務(wù)器安裝node和mondodb吗坚。
mongoDB安裝
下載mongodb安裝包,下載地址:點(diǎn)我可以直接下載壓縮包
下載后在服務(wù)器解壓
tar -xvf mongodb-linux-x86_64-ubuntu2004-4.4.5
- 解壓后重命名
mv mongodb-linux-x86_64-ubuntu2004-4.4.5/ mongodb
- 將mongodb文件夾移動到/usr/local
mv mongodb /usr/local
- 添加環(huán)境變量
sudo vim /etc/profile
- 添加以下內(nèi)容并保存
export PATH=/usr/local/mongodb/bin:$PATH
- 使修改生效
source /etc/profile
- 創(chuàng)建用于存放數(shù)據(jù)和日志文件的文件夾呆万,并修改其權(quán)限增加讀寫權(quán)限
# 數(shù)據(jù)存儲目錄
sudo mkdir -p /var/lib/mongo
# 日志文件目錄
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo # 設(shè)置權(quán)限
sudo chown `whoami` /var/log/mongodb # 設(shè)置權(quán)限
- 在/usr/local/mongodb/bin下面增加配置文件
# 數(shù)據(jù)文件存放目錄
dbpath = /var/lib/mongo
# 日志文件存放目錄
logpath = /var/log/mongodb/mongodb.log
#端口
port = 27017
#是否認(rèn)證商源,后續(xù)會改成true
auth = false
#遠(yuǎn)程連接要指定ip 不然無法連接。0.0.0.0不限制ip訪問,并開啟對應(yīng)端口
bind_ip = 0.0.0.0
nodejs安裝
????這里我使用的是壓縮包的方式安裝谋减,其實(shí)使用ubuntu本身的命令安裝會更方便牡彻,如下:
安裝nodejs,安裝完成通過node -v查看是否安裝成功
apt-get install nodejs
安裝npm出爹,安裝完成通過npm -v查看是否安裝成功
apt-get install npm
安裝pm2庄吼,安裝完成通過pm2 -v查看是否安裝成功
sudo npm install -g pm2
????因?yàn)槭褂昧藟嚎s包的方式,后面裝了npm严就、pm2总寻、n的時候還需要配置軟鏈接,所以不建議大家使用壓縮包方式安裝梢为。
下載nodejs安裝包渐行,下載地址:點(diǎn)我直接下載
下載后在服務(wù)器解壓:
tar -xvf node-v14.16.1-linux-x64.tar.xz
- 解壓后重命名文件夾:
mv node-v14.16.1-linux-x64 nodejs
- 將nodejs文件夾移動到/usr/local
mv nodejs /usr/local
- 添加軟鏈接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
- 查看是否安裝成功
node -v
npm -v
- 安裝pm2與n進(jìn)行管理
npm install -g pm2
npm install -g n
- 添加軟鏈接
ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin
ln -s /usr/local/nodejs/bin/n /usr/local/bin
- 查看是否安裝成功
n -V
pm2 -v
-
安裝成功
image-20210421101841365
安裝node的時候不要安裝版本太高,因?yàn)楹罄m(xù)安裝yapi時候node版本太高導(dǎo)致報(bào)錯了抖誉,因此安裝10.x左右的版本就行殊轴。
啟動mongodb
啟動mongodb,進(jìn)入usr/local/mongodb/bin
執(zhí)行以下命令袒炉,--fork指的是在后臺運(yùn)行旁理,可以先不加,等后面都配置好了再進(jìn)行啟動即可我磁。
./mongod -f mongodb.conf --fork
- 配置密碼登陸
執(zhí)行mongo
命令進(jìn)去shell孽文,執(zhí)行以下命令創(chuàng)建一個管理員用戶
1驻襟、use admin
2、db.createUser({user:"admin", pwd: "adminpassword", roles: [{role: "userAdminAnyDatabase", db: "admin"}]})
# 用戶名為admin芋哭,密碼為adminpassword沉衣,針對admin數(shù)據(jù)庫創(chuàng)建
3、db.auth('admin','adminpassword') # 驗(yàn)證是否創(chuàng)建成功
這樣則表示創(chuàng)建成功
-
在配置文件開啟權(quán)限認(rèn)證减牺,打開/usr/local/mongodb/bin/mongodb.conf文件將auth設(shè)置為true
關(guān)閉mongodb服務(wù)豌习,并重新開啟,就可以使用密碼進(jìn)行連接mongodb了
./mongod -f mongodb.conf --shutdown
./mongod -f mongodb.conf --fork
安裝yapi
????YApi官方提供了可視化部署和命令行部署兩種方式拔疚,可視化部署方式是在服務(wù)器起了一個node服務(wù)肥隆,在瀏覽器根據(jù)需要填入相關(guān)配置后自動部署,命令行方式則是自己修改配置文件后進(jìn)行部署稚失。具體操作可查看這里
npm install -g yapi-cli --registry https://registry.npm.taobao.org
- 添加軟鏈接(因?yàn)榍懊姘惭bnode的方式導(dǎo)致這里需要再處理一下)
ln -s /usr/local/nodejs/bin/yapi /usr/local/bin
執(zhí)行
yapi server
啟動安裝服務(wù)栋艳,默認(rèn)端口9090防火墻開啟9090端口,瀏覽器輸入訪問地址
http://ip:9090
開始安裝安裝過程中需要有mongodb數(shù)據(jù)庫的用戶名和密碼句各,我們之前建立的是admin數(shù)據(jù)庫的用戶名和密碼吸占,因?yàn)檫@里我們需要再建立一個yapi數(shù)據(jù)庫的密碼
1、use yapi
2凿宾、db.createUser({user:"admin", pwd: "adminyapi", roles: [{role: "readWrite", db: "yapi"}]})
# 用戶名為admin矾屯,密碼為adminyapi,針對yapi數(shù)據(jù)庫創(chuàng)建
3菌湃、db.auth('admin','adminyapi') # 驗(yàn)證是否創(chuàng)建成功
-
建立好以后就可以進(jìn)行安裝了问拘,數(shù)據(jù)庫地址填寫服務(wù)器IP,其他的根據(jù)自己的情況填寫即可惧所。我在這里使用了navicat進(jìn)行登陸數(shù)據(jù)庫看了看骤坐,Authentication就是指你具體要連接哪個數(shù)據(jù)庫。
安裝完成后通過http://ip:3000進(jìn)行訪問即可進(jìn)行注冊登陸使用了
注意事項(xiàng):服務(wù)器的安全組記得開端口9090下愈、3000纽绍、27017三個
總結(jié)
整體安裝過程比較簡單,官方的腳手架用著也很方便势似,麻煩的就是mongodb的安裝和配置拌夏,但是如果用的熟練的話也沒有什么問題的。
參考
- 官方使用文檔: https://hellosean1025.github.io/yapi/documents/index.html
- 官方部署文檔: https://hellosean1025.github.io/yapi/devops/index.html
- 環(huán)境搭建文檔: https://zhuanlan.zhihu.com/p/95880755
本文由博客群發(fā)一文多發(fā)等運(yùn)營工具平臺 OpenWrite 發(fā)布