将Yapi部署到本地局域网上
安装Yapi到局域网服务器中。
官方文档地址:Yapi内网部署
Yapi依赖:Node.js(7.6+) MongoDB(2.6+)
1.安装Node.js
- 卸载旧版本的nodejs
yum erase nodejs npm -y
- 更新node.js的yum源(Node.js v8.x)
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
- 安装
yum install -y nodejs
- 查看node.js版本
node -v
2.安装MongoDB
vim /etc/yum.repos.d/mongodb-org-3.4.repo
\\添加一下内容
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
- 安装
yum install -y mongodb-org
- 启动
systemctl start mongod.service
- 设为开机启动
systemctl enable mongod
3.安装Yapi
1.安装辅助工具
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
2.打开相应的IP地址和端口号进行部署
3. 填写相关参数完成部署。
到这里还没成功的小伙伴,九成是因为Linux的网络配置或防火墙问题。
4.启动Yapi
- 切换到部署目录。
- 启动服务器
node vendors/server/app.js
以守护进程启动node vendors/server/app.js &
编写文档
根据collegeId查找所有的Subject:
- 请求的方法还有URL
- 设置参数
- 拟定返回数据模板
\\预览
{
"code": 0,
"msg": "成功",
"data": [
{
"subjectId:": "dGiGsV",
"subjectName": "krMNj",
"collegeId": "ycVgf!J",
"collegeName": "Xi]!o"
},
{
"subjectId:": "AR8Ym8",
"subjectName": "kmdw",
"collegeId": "9yp!",
"collegeName": "*kAV"
}
]
}
错误收集与解决
原文:错误收集与解决
如果出现以下错误,请安装如下模块文件并刷新页面重新部署
Error: Cannot find module ‘fs-extra’
npm install --save fs-extra
如果出现如下错误,请安装如下模块文件并刷新页面重新部署
Error: Cannot find module ‘nodemailer’
npm install nodemailer --save
如果出现如下错误,请修改添加以下路径下的db.js文件内容并刷新页面重新部署
Error: (node:687) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor
cd /etc/my-yapi/vendors/server/utils
在db.js文件的第19行处下面添加如下内容
mongoose.set(‘useUnifiedTopology’, true);
如果出现如下错误,请根据提示删除init.py文件
node server/install.js
Error: init.lock文件已存在,请确认您是否已安装。如果需要重新安装,请删掉init.lock文件
进入/etc/my-yapi/目录
rm init.lock -y
如果重新安装,出现如下错误,请删除管理员账号信息
cd /etc/my-yapi/vendors
node server/install.js
(node:20024) UnhandledPromiseRejectionWarning: Error: 初始化管理员账号 ‘admin@admin.com’ 失败, E11000 duplicate key error collection: yapi.user index: email_1 dup key: { : ‘admin@admin.com’ }
进入数据库删除管理员账户信息
mongo
>use yapi;
>db.user.remove({‘username’:‘admin’});
node server/install.js