YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
这里不建议使用高版本的nodejs,之前我安装了一个14最新版本的nodejs再最后node vendors/server/app.js的时候一直会报错,报错如下
TypeError: Cannot read property 'then' of undefined
建议下载8版本的nodejs,亲测有用,下载地址如下
Index of /download/release/v8.12.0/
解压:
xz -d node-v8.12.0-linux-x64.tar.xz
tar -xvf node-v8.12.0-linux-x64.tar
mv node-v8.12.0-linux-x64 /usr/local/bin/node
vim /etc/profile
在文末添加语句如下:
#Nodejs
NODEJS_HOME=/usr/local/bin/node/bin
export PATH=$NODEJS_HOME:$PATH
保存退出
:wq
source /etc/profile
node -v
v8.12.0
npm -v
6.4.1
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get install -y mongodb-org
systemctl start mongod
systemctl enable mongod
mongo
# 进入 MongoDB shell 后,切换到数据库管理员
use admin
# 创建 root 用户
db.createUser({user:"admin", pwd:"123456", roles:[{role:"root", db:"admin"}]})
# 切换到数据库 yapi
use yapi
# 创建 yapi 管理员用户
db.createUser({user:"yapiAdmin", pwd:"123456", roles:[{role:"dbOwner", db:"yapi"}]})
# 退出
exit
# 重新启动MongoDB并连接创建的用户
service mongod restart
方式一可视化部署(推荐)
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
中间会报一堆的WARING如果不是ERR可以先不管,等结束会有账号和密码并提示/root/my-yapi node vendors/server/app.js开启服务,就算成功了,默认为登录账号[email protected],密码ymfe.org
发现的一个报错:
Command 'node' not found, but can be installed with:
apt install nodejs
解决:
apt install nodejs
apt install npm
node vendors/server/app.js
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...
后台运行(看的官方文档)
利用pm2方便服务管理维护。
npm install pm2 -g //安装pm2
cd /root/my-yapi
pm2 start "vendors/server/app.js" --name yapi //pm2管理yapi服务
pm2 info yapi //查看服务信息
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务
升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。
cd {项目目录}
yapi ls //查看版本号列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本
mkdir yapi
cd yapi
git clone --depth=1 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 // 安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js // 启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
内网部署
Error: (node:40406) UnhandledPromiseRejectionWarning: Error: 初始化管理员账号 "[email protected]" 失败, E11000 duplicate key error collection: yapi.user index: email_1 dup key: { : "[email protected]" }
at /root/my-yapi/vendors/server/install.js:146:17
at
at process._tickCallback (internal/process/next_tick.js:189:7)
mongo
> use yapi;
switched to db yapi
> db.user.remove({'username':'admin'});
WriteResult({ "nRemoved" : 1 })
[email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm install --save -g core-js@^3
[email protected]: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm install axios
[email protected]: Please use @koa/multer instead, see
npm install --save @koa/multer multer
https://www.mongodb.org/dl/linux