Ubuntu部署YAPI
说明:服务器环境Ubuntu 20.04 ,使用docker部署MongoDB,利用pm2管理Yapi服务。
1.安装npm
sudo apt install npm
2.部署MongoDB
sudo docker pull mongo
2.1 拉取最新镜像
sudo docker pull mongo
2.2 启动服务
注意更换系统名称
sudo docker run \
-p 27017:27017 \
-v /home/xindaqi/software/mongodb/config:/data/configdb/ \
-v /home/xindaqi/software/mongodb/data:/data/db/ \
-d mongo --auth
2.3 查看MongoDB进程
sudo docker ps
2.4 进入MongoDB服务
sudo docker exec -it ecc092673474 mongo admin
2.5 创建用户
db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "root", db: "admin" } ] });
2.6 验证授权
db.auth("admin", "admin123456")
2.7 创建yapi用户
作为config.json中MongoDB的配置。
db.createUser({
user: 'yapi',
pwd: 'test123456',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});
3. 部署YAPI
3.1 下载YAPI
https://github.com/YMFE/yapi.git
(1)文件夹名称为yapi-1.9.3.tar.gz,修改名称为vendors;
(2)删除package-lock.json。
3.2 配置文件路径
新建:/home/xindaqi/software/yapi
将vendors放在yapi文件夹下。
从vendors文件夹下复制:config-example.json
到yapi文件夹下,修改名称为:config.json
修改后的文件结构为:
yapi
├── config.json
└── vendors
├── CHANGELOG.md
├── client
├── common
├── config_example.json
├── config_run.json
├── docs
├── exts
├── LICENSE
├── nodemon.json
├── npm-publish.js
├── package.json
├── plugin.json
├── README.md
├── SECURITY.md
├── server
├── static
├── test
├── webpack.alias.js
├── yapi-base-flow.jpg
├── ydocfile.js
├── ydoc.js
└── ykit.config.js
配置文件:config.json
{
"port": "3000",
"adminAccount": "admin@admin.com",
"timeout":120000,
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "test123456",
"authSource": "admin"
},
"mail": {
"enable": false,
"host": "smtp.163.com",
"port": 465,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
}
}
}
3.3 安装淘宝镜像
进入目录 /software/yapi/vendors
npm install --production --registry https://registry.npm.taobao.org
3.4 初始化数据
npm run install-server
3.5 启动服务
注意此时在/software/yapi/vendors/ 目录下
node server/app.js
3.6 登录
换成本服务器IP
使用3.4初始化的账号密码登录
4. 推荐使用PM2维护服务
4.1 安装PM2
Ctrl+C退出服务,安装pm2服务
sudo npm i pm2 -g
4.2 利用PM2启动Yapi
pm2 start server/app.js
pm2 info yapi //查看服务信息
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务
感谢
https://blog.csdn.net/Xin_101/article/details/123275638