搭建Yapi接口文档服务
搭建Yapi接口文档服务
标签(空格分隔): linux
官方文档
https://hellosean1025.github.io/yapi/devops/index.html
系统环境配置
# 关闭firewalld防火墙并禁止开机自启动
systemctl disable firewalld && systemctl stop firewalld
# 临时和永久关闭SElinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 清空iptables规则
iptables -X && iptables -F && iptables -Z
安装Node、Npm
# 下载并解压文件
cd /opt
wget https://nodejs.org/dist/v9.8.0/node-v9.8.0-linux-x64.tar.xz
xz -d node-v9.8.0-linux-x64.tar.xz
tar -xf node-v9.8.0-linux-x64.tar
# 创建链接文件
cd node-v9.8.0-linux-x64
ln -s /opt/node-v9.8.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node-v9.8.0-linux-x64/bin/npm /usr/local/bin/npm
# 查看版本并切换镜像源
node -v
npm -v
npm config set registry https://registry.npm.taobao.org
安装Mongodb
# 下载包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
tar zxvf mongodb-linux-x86_64-rhel70-4.4.2.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-rhel70-4.4.2 /usr/local/mongodb
rm -rf mongodb-linux-x86_64-rhel70-4.4.2.tgz
cd /usr/local/mongodb/
mkdir logs data conf
cd logs/
touch mongodb.logs
cd ../conf/
vim mongodb.conf
systemLog:
quiet: false
path: /usr/local/mongodb/logs/mongodb.logs
logAppend: false
destination: file
processManagement:
fork: true
pidFilePath: /usr/local/mongodb/bin/mongodb.pid
net:
bindIp: 0.0.0.0
port: 27017
maxIncomingConnections: 65536
wireObjectCheck: true
storage:
dbPath: /usr/local/mongodb/data
journal:
enabled: true
operationProfiling:
slowOpThresholdMs: 100
mode: off
# mongod 开启自启
vim /etc/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0751
PIDFile=/usr/local/mongodb/bin/mongodb.pid
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongodb.conf
PrivateTmp=false
[Install]
WantedBy=multi-user.target
systemctl start mongodb.service
systemctl enable mongodb.service
# 查看端口
ss -tunl | grep 27017
安装Git
yum install git -y
可视化部署Yapi
npm install -g yapi-cli --registry https://registry.npm.taobao.org
/opt/node-v9.8.0-linux-x64/bin/yapi server
根据命令行提示信息,在浏览器中访问部署页面
部署过程中遇到的坑
#如果出现以下错误,请安装如下模块文件并刷新页面重新部署
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
启动服务
cd /etc/my-yapi/vendors
node server/app.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理