1. 安裝 node.js
安裝node.js,選擇版本node-v12.16.1-x64.msi
一直點擊下一步就好,路徑默認(rèn)C盤就好,不需要做修改。
2. 安裝MongDB
下載mongodb-win32-x86_64-2012plus-4.2.3-signed.msi,安裝
選擇complete完整的安裝模式:
注意將MongoDB作為服務(wù)安裝,同時要記錄下數(shù)據(jù)庫data的安裝目錄和日志的安裝目錄
MongoDB安裝路徑
C:\Program Files\MongoDB\Server\4.2\data
MongoDB日志存儲路徑
C:\Program Files\MongoDB\Server\4.2\log\
安裝完成后的MongoDB需要進(jìn)行進(jìn)一步配置,需要配置db文件夾和log文件夾,分別用來存儲數(shù)據(jù)文件和日志文件。這兩個文件夾你可以使用以管理員權(quán)限運(yùn)行的cmd命令行窗口進(jìn)行創(chuàng)建,也可以直接到指定目錄下鼠標(biāo)右鍵進(jìn)行創(chuàng)建。
我在這里就使用命令行的方式進(jìn)行創(chuàng)建了:
首先使用管理員模式運(yùn)行cmd窗口,然后用cd \ 命令回到根目錄,在根目錄下建立data文件夾,并在data文件夾內(nèi)建立db和log文件夾
還需要再配置一個后綴為.cfg的文件(其實就是配置文件config的縮寫),那么在該文件中寫入以下路徑即可:
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
將剛剛的配置文件復(fù)制到MongoDB的安裝目錄里,放在4.2的目錄下,提示需要管理員權(quán)限,點擊繼續(xù)即可:
C:\Program Files\MongoDB\Server\4.2\
進(jìn)入MongoDB的bin目錄,并把bin目錄的路徑復(fù)制下來:
C:\Program Files\MongoDB\Server\4.2\bin
打開剛剛的cmd命令行窗口,切換到這個bin目錄路徑下
然后在當(dāng)前路徑下敲擊以下命令,回車運(yùn)行,看到MongoDB的服務(wù)啟動并有相應(yīng)的端口號和路徑即可,然后Ctrl + c強(qiáng)制停止一下:
mongod --dbpath C:\data\db
強(qiáng)制停止之后,需要再輸入以下命令來重新執(zhí)行配置文件:
mongod.exe --config “C:\Program Files\MongoDB\Server\4.2\mongod.cfg” --install
簡單測試一下MongoDB,輸入mongo:
至此,MongoDB數(shù)據(jù)庫安裝完成,此時未添加環(huán)境變量,將bin目錄加入環(huán)境變量即可任意目錄進(jìn)入mongodb。
3. 命令行部署Yapi
本文根據(jù)官網(wǎng)命令行部署Yapi,采用可視化部署會報node.js的錯誤,所以不推薦使用可視化部署??梢暬渴饒箦e如下:
(node: 21108)UnhandledPromiseRejectionWarning: Error: read_ECONNRESET
at TCP. onStreamRead (internal/stream_base_commons.js:205:27)
(node: 21108)UnhandledPromiseRejectionWarning: Unhandled promise rejection.
下面開始命令行部署:
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors //或者下載 zip 包解壓到 vendors 目錄(clone 整個倉庫大概 140+ M,可以通過 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令減少,大概 10+ M)
cp vendors/config_example.json ./config.json //復(fù)制完成后請修改相關(guān)配置
注意按官網(wǎng)教程復(fù)制config_example.json到上一層目錄改名為config.json后,需要將賬號密碼全部刪除,否則會報以下錯誤:
error: MongoNetworkError: Authentication failed., mongdb Authentication failed log: mongodb load success...
(node: 19048) UnhandledPromiseRejectionWarning: Error: cannot read property 'collection' of undefined
at D:\yapi\yapi-master\server\install.js:151:13
此處如果想增加數(shù)據(jù)庫權(quán)限認(rèn)證,config.json中添加賬號密碼請看第4節(jié)。
然后執(zhí)行
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安裝程序會初始化數(shù)據(jù)庫索引和管理員賬號,管理員賬號名可在 config.json 配置
node server/app.js //啟動服務(wù)器后,請訪問 127.0.0.1:{config.json配置的端口},初次運(yùn)行會有個編譯的過程,請耐心等候
4. MongDB添加賬號密碼認(rèn)證
MongDB的賬號密碼認(rèn)證,首先需要建立管理員賬號密碼,然后建立一個普通用戶讀寫Yapi的數(shù)據(jù)庫
# 進(jìn)入
mongo
# 查看數(shù)據(jù)庫
show dbs
# 創(chuàng)建管理員賬號
db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
# 驗證第3步用戶添加是否成功,db.auth()方法理解為用戶的驗證功能
db.auth("useradmin", "adminpassword") 如果返回1,則表示成功。
# 退出系統(tǒng)
exit
# 安裝目錄下修改MongDB配置
sudo vi /opt/MongDB/mongdbServer/bin/mongod.conf
# 結(jié)尾添加兩行,注意縮進(jìn),縮進(jìn)參照配置文件其他配置??s進(jìn)錯誤可能第6步重啟不成功。
security:
authorization: enabled
# 重啟mongodb
sudo service mongod restart
# 進(jìn)入mongodb,用第3步的管理員賬戶登錄,用該賬戶創(chuàng)建其他數(shù)據(jù)庫管理員賬號
use admin
db.auth("useradmin", "adminpassword")
# 選擇創(chuàng)建數(shù)據(jù)庫最高權(quán)限賬號或者讀寫賬戶管理yapi數(shù)據(jù)庫
# 新建你需要管理的mongodb 數(shù)據(jù)的賬號密碼。
# roles:dbOwner代表數(shù)據(jù)庫所有者角色,擁有最高該數(shù)據(jù)庫最高權(quán)限。比如新建索引等
db.createUser({ user: "yapi", pwd: "yapi", roles: [{ role: "dbOwner", db: "yapi" }] })
# 新建數(shù)據(jù)庫讀寫賬戶
db.createUser({ user: "yapi1", pwd: "yapi1", roles: [{ role: "readWrite", db: "yapi" }] })
mongod.conf配置文件:config.json配置文件:
5. 訪問網(wǎng)站
http://127.0.0.1:3000/ 使用賬號 密碼登錄即可
6. 后臺永久運(yùn)行
如果是內(nèi)網(wǎng)部署需要修改npmrc配置文件
# 查看配置文件位置,結(jié)果的userconfig即為npmrc位置,默認(rèn)為/root/.npmrc
npm config list
安裝forever實現(xiàn)后臺運(yùn)行
# 安裝forever
npm install forever -g
# 添加forever到環(huán)境變量
ln -s /opt/node/node-v12.22.12-linux-x64/lib/node_modules/forever/bin/forever /usr/local/bin/forever
# server目錄下啟動應(yīng)用
forever start app.js
# 關(guān)閉應(yīng)用
forever stop app.js
# 重啟所有應(yīng)用
forever restartall
7. 常見問題
報錯address already in use 0.0.0.0:3000
查找端口號對應(yīng)的PID文章來源:http://www.zghlxwxcb.cn/news/detail-773972.html
lsof -i:3000
殺掉進(jìn)程文章來源地址http://www.zghlxwxcb.cn/news/detail-773972.html
kill -9 【PID】
到了這里,關(guān)于【Yapi】Yapi最新版詳細(xì)安裝步驟圖文教程,避免踩坑的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!