在線安裝
安裝nodejs
下載壓縮包,設置環境變量,這裏不祥述。
安裝mongodb
添加yum源
vim /etc/yum.repos.d/mongodb-3.4.repo #添加下面的內容,wq保存。 [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck= 0 enabled=1 #安裝 yum install -y mongodb-org
配置mongod
#啓動: service mongod start [root@CENTSVR247 vendors]# mongo > use admin #切換到admin數據庫 switched to db admin #創建dba用戶 > db.createUser( ... ... { ... ... user: "dba", ... ... pwd: "dba", ... ... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] ... ... } ... ... ) #創建yapi數據庫 > use yapi switched to db yapi 給yapi數據庫添加test1用戶,權限爲讀寫 > db.createUser( ... ... { ... ... user: "test1", ... ... pwd: "test1", ... ... roles: [ ... ... { role: "readWrite", db: "yapi" } ... ... ] ... ... } ... ... )
安裝Yapi
官方說明:https://yapi.ymfe.org/devops/index.html
方式一:可視化部署
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
根據提示,瀏覽器訪問 http://部署YApi服務器的IP:9090。
填寫完信息後,點擊“開始部署”。(大概等待1分鐘)
# 退出當前狀態
CTRL + C
修改配置
這裏我們不急着根據提示進行啓動,有些參數我們可以通過修改配置達到。
# 修改config.json
vim /root/my-yapi/config.json
修改下面的內容(郵箱可以不用163的),wq保存。
{ "port": "80", "adminAccount": "[email protected]", "db": { "servername": "127.0.0.1", "DATABASE": "yapi", "port": "27017" }, "mail": { "enable": true, "host": "smtp.163.com", "port": 465, "from": "可用於發送郵件的163郵箱", "auth": { "user": "163郵箱", "pass": "163郵箱對應的密碼或授權碼" } } }
啓動
# 切換到部署目錄下
cd /root/my-yapi
# 啓動服務
node vendors/server/app.js
由於修改了配置,所以直接訪問 http://部署YApi服務器的IP/login。
訪問http://部署YApi服務器的IP:3000/login
默認用戶密碼:[email protected] ymfe.org
方式二:命令行部署
安裝yapi
mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors //或者下載 zip 包解壓到 vendors 目錄 cp vendors/config_example.json ./config.json //複製完成後請修改相關配置 cd vendors npm install --production --registry https://registry.npm.taobao.org
安裝pm2
cd vendors npm install -S pm2
初始化及啓動yapi
npm run install-server //安裝程序會初始化數據庫索引和管理員賬號,管理員賬號名可在 config.json 配置 node server/app.js //啓動服務器後,請訪問 127.0.0.1:{config.json配置的端口},初次運行會有個編譯的過程,請耐心等候
使用pm2啓動方式
#啓動 npx pm2 start ./server/app.js #停止 npx pm2 stop all
離線安裝
離線安裝只能採用命令行部署方式
node安裝
不再詳述。
內網安裝mongodb
解壓mongodb-linux-x86_64-3.6.4.tgz並放入mongodb文件夾中
tar -zxvf mongodb-linux-x86_64-3.6.4.tgz mv mongodb-linux-x86_64-3.6.4 mongodb
把mongodb放入環境變量中, 修改~/.bashrc, 加入以下內容
export PATH=<mongodb文件夾的路徑>/bin:$PATH
驗證安裝
source ~/.bashrc
mongo --version
創建dbdata/db文件夾和dblog文件夾(請自行確保這些文件夾的讀寫權限)
mkdir -p dbdata/db mkdir dblog
啓動mongodb服務
sudo ./mongodb/bin/mongod --fork --dbpath ./dbdata --logpath ./dblog/log
配置
參考上文mongodb配置。
離線安裝yapi
在一臺連接互聯網的pc上安裝node環境
在外網機器獲取yapi源碼並安裝依賴
使用git獲取yapi源碼, 如果沒有git命令請按照對應平臺的安裝方法安裝git.
創建一個新文件夾yapi, 使用clone將yapi源碼放入vendors中:
mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors cp vendors/config_example.json ./config.json cd vendors npm install --production
我這裏還安裝了pm2
npm n install -S pm2
將創建的yapi文件夾打成壓縮包得到yapi.tar.gz(其目錄下有config.json和vendors)
tar -czf yapi.tar.gz yapi
至此, 所有需要外部網絡的操作已經完成, 可以進行內網部署.
啓動yapi
解壓yapi.tar.gz
tar -zxvf yapi.tar.gz
按需要修改yapi/config.json中的相關配置(例如管理員賬號等)
初始化數據庫:
cd ./yapi/vendors npm run install-server
使用pm2啓動
npx n pm2 start ./server/app.js
啓動完成後即可嘗試訪問yapi看是否成功, 具體地址要根據內網機器的ip和在config.json中配置的端口號
如果要關閉yapi服務, 可以使用
npx n pm2 stop all
問題總結:
兩種方式安裝yapi,按照正常方式安裝都是無法安裝的,有如下錯誤
- 方式1圖形界面,yapi server 啓動9090服務後,頁面無法打開,會報錯誤,原因是無網絡。
- 方式2命令行安裝,npm install –production 回報git錯誤,因需要聯網git操作,原因無網絡,npm使用私庫代理也不行。
- 全局安裝pm2: npm install pm2 -g
- 使用pm2啓動YAPI: pm2 start ./server/app.js
- mongodb不啓用驗證的情況下,config.json中的db用戶名和密碼設爲空