YApi環境配置過程


 

YApi 一個可視化接口管理工具

部署前准備:

  1. 服務器環境 Centos7, IP地址 192.168.1.18
  2. Node.js
  3. MongoDb
NodeJs
1
2
3
4
5
6
7
8
9
wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.gz 

tar -zxvf node-v10.15.1-linux-x64.tar.gz
mkdir /usr/local/nodejs
mv node-v10.15.1-linux-x64/* /usr/local/nodejs
rm -rf node-v10.15.1-linux-x64

ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
MongoDb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#1. 官網下載
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.6.tgz

mkdir /usr/local/mongodb
tar -zxvf mongodb-linux-x86_64-4.0.6.tgz
mv mongodb-linux-x86_64-4.0.6/* /usr/local/mongodb/
rm -rf mongodb-linux-x86_64-4.0.6

cd /usr/local/mongodb
mkdir data
mkdir logs
touch logs/mongo.log

cd /usr/local/mongodb/bin
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongo.log --logappend --port=27017 --fork

#2. 通過 Oneinstack 安裝 MongoDb
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 15 --dbinstallmethod 1 --dbrootpwd vagrant

#創建 yapi 數據庫, 並創建 yapi 用戶
mongo
use admin
db.auth('root', 'vagrant')
use yapi
db.createUser({user:"yapi", pwd:"vagrant", roles:[{role:"dbOwner", db:"yapi"}]})
#創建后並不能看到 yapi 數據庫, 需退出再重新登錄並插入數據才行
exit
mongo
use yapi
db.auth('yapi', 'vagrant')
db.foo.insert({x:1});

#遠程連接
#添加iptables 3306 端口
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
#保存iptables規則
service iptables save
#查看添加的iptables規則
iptables -nvL
YApi 安裝
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#第一種:
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

#第二種:
mkdir yapi
cd yapi
#git 或者 下載 zip 包解壓到 vendors 目錄
git clone https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json
cd vendors
npm install --production --registry https://registry.npm.taobao.org
#安裝程序會初始化數據庫索引和管理員賬號,管理員賬號名可在 config.json 配置
npm run install-server
#啟動服務器后,請訪問 127.0.0.1:{config.json配置的端口}
node server/app.js

#若是在虛擬機,請開放3000端口
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
service iptables save
問題
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#第一種安裝方式的相關問題
#1.
依賴庫安裝完成,正在初始化數據庫mongodb...
Error: internal/modules/cjs/loader.js:583 throw err; ^ Error: Cannot find module 'sha1' at Function.Module._
#解決:編輯 /usr/local/nodejs/lib/node_modules/yapi-cli/src/commands/install.js, 找到 handleNpmInstall()
將 npm install -q --production --registry https://registry.npm.taobao.org
修改為 yarn install -q --production --registry https://registry.npm.taobao.org

#2.
依賴庫安裝完成,正在初始化數據庫mongodb...
Error: (node:9716) UnhandledPromiseRejectionWarning: MongoError: command insert requires authentication
#解決:需配置 Mongo 數據庫認證, 配置用戶名和密碼即可


#第二種安裝方式的相關問題
#1. npm install --production --registry https://registry.npm.taobao.org
npm ERR! path /data/wwwroot/private/yapi/vendors/node_modules/assert-plus/package.json.1991383012
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename '/data/wwwroot/private/yapi/vendors/node_modules/assert-plus/package.json.1991383012' -> '/data/wwwroot/private/yapi/vendors/node_modules/assert-plus/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-02-20T06_05_59_862Z-debug.log
#解決
npm install -g yarn
ln -s /usr/local/nodejs/bin/yarn /usr/local/bin/
yarn install --production --registry https://registry.npm.taobao.org

#2. npm run install-server
error: MongoError: Authentication failed., mongodb Authentication failed
#解決:配置 config.json
{
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "vagrant",
"authSource": ""
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM