Yapi私有化部署方案
# 背景
作为前文接口管理平台Yapi-最佳实践 (opens new window)的补充,本文将给出Yapi私有化部署方案的教程
开源代码地址https://github.com/benym/yapi-deploy (opens new window)
文件取自yapi-1.9.3开源版本
# 部署方式
# 可视化部署
使用官方提供的yapi-cli工具,部署 YApi平台是非常容易的。执行 yapi server启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js}启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org登录系统(默认密码可在个人中心修改)。
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
1
2
2
1
2
2
# 虚拟机部署
- 下载本文的
yapi-deploy项目 - 拷贝
yapi-virtual文件夹到宿主机/,如拷贝位置不同,需要同步替换entrypoint.sh中的vendors和init.lock路径 cd /yapi-virtual, 填写config.json内servername,user,pass其中authSource为mongodb自带库,默认通过admin授权即可cd /yapi-virtual/vendorsnpm install --production --registry https://registry.npm.taobao.orgcd /yapi-virtualnohup sh entrypoint.sh > out.txt 2&1 &
以上7步完成部署
其中entrypoint.sh脚本中内容如下
#!/bin/sh
# yapi初始化后会有一个init.lock文件
lockPath="/yapi-virtual/init.lock"
# 进入yapi项目,如部署机器不同,请修改该路径
cd /yapi-virtual/vendors
# 安装必要包
npm config set registry https://registry.npm.taobao.org/
npm install pm2 -g
npm install -g fs-extra --registry https://registry.npm.taobao.org/
npm install -g safeify
# 如果初始化文件文件存在,则直接运行,否则初始化
if [ ! -f "$lockPath" ]; then
# 启动Yapi初始化
pm2 start server/install.js
pm2 start server/app.js
else
# 运行yapi管理系统
pm2 start server/app.js
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
脚本将自动安装yapi所需要的依赖,并采用pm2进行yapi进程后台管理
提示
这里之所以需要pm2管理,是因为如果直接采用nohup等后台运行形式,yapi将在用户退出shell界面时同时停止运行
# Docker部署
- 下载本文的
yapi-deploy项目 - 拷贝
yapi-deploy(文件内包含yapi-virtual)文件夹到宿主机 cd /yapi-deploy/yapi-virtual, 填写config.json内servername,user,pass其中authSource为mongodb自带库,默认通过admin授权即可cd /yapi-deploydocker build -f Dockerfile -t demoyapi .docker run -d --name=yapi -p 3000:3000 demoyapi
以上6步完成部署
# 附录
pm2基本使用
pm2 list查看运行中的nodejs项目pm2 startpm2 stoppm2 delete id
编辑 (opens new window)
上次更新: 2023/05/14, 14:53:48
- 01
- SpringCache基本配置类05-16
- 03
- Rpamis-security-原理解析12-13
