目录

1.node安装

1.1下载node,解压

1.2 部署bin文件

1.3 安装mongodb

2.启动yapi

2.1  前置命令

2.2 启动服务

3.利用pm2方便服务管理维护

3.1.安装pm2

3.2 常用 PM2 命令

4.常见问题

4.1. 确认 MongoDB 是否安装

4.2. 安装 MongoDB(若未安装)

4.3. 如果 MongoDB 已安装但服务未启动

4.4. 检查 MongoDB 数据目录

4.5. 重新启动 YApi

4.6. 验证 YApi 数据持久化


阿里云服务器申请过程,这个步骤省略了,以下是搭建YApi - 接口管理平台的过程

安装Yapi环境要求:

nodejs(7.6+)
mongodb(2.6+)
git

1.node安装

 1.1下载node,解压

使用wget直接下载

命令:cd /usr/local
然后输入命令:
wget https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.xz
解压缩
xz -d node-v12.18.4-linux-x64.tar.xz
tar -xf node-v12.18.4-linux-x64.tar 

下载后。mv 命令重命名下:

 mv node-v12.18.4-linux-x64 node

 

1.2 部署bin文件

命令

ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm
ln -s /usr/local/node/bin/npx /usr/bin/npx

1.3 安装mongodb

  下载mongodb压缩包到本地,解压缩文件,移动并重命名mongodb

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.22.tgz

# 解压压缩包
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.22.tgz
# 移动node位置并重新命名
mv mongodb-linux-x86_64-rhel70-4.4.22 /usr/local/mongodb

配置mongoDB文件夹和配置文件,进入mongodb目录 cd /usr/local/mongodb
执行mkdir data用来存放mongodb的数据库数据
执行mkdir logs用来存放mongodb运行产生的日志

创建mongodb.conf文件

touch mongodb.conf
更改权限:
chmod +x mongodb.conf

然后复制下面的命令到mongodb.conf里面,vi mongodb.conf

# 日志文件位置
logpath=/usr/local/mongodb/logs/mongod.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
# 默认27017
port = 27017
# 数据库文件位置
dbpath=/usr/local/mongodb/data
# 允许哪个ip的连接,0.0.0.0表示任意ip都可以连接
bind_ip=0.0.0.0
# 是否以安全认证方式运行,默认是不认证的非安全方式
auth = false

将mongoDB的命令,添加到profile中

vim /etc/profile
# 文件尾部添加一行
export PATH=/usr/local/mongodb/bin:$PATH

# 刷新使修改生效
source /etc/profile

启动mongodb,进入到 /usr/local/mongodb/bin 下面,执行

mongod -f mongodb.conf

 出现successfully,代表启动成功。

2.启动yapi

2.1  前置命令

然后输入命令:

回到主目录
cd 执行命令清除npm缓存:
npm cache clean --force执行命令取消ssl验证
npm config set strict-ssl false然后重新执行npm install -g yapi-cli --registry https://registry.npm.taobao.org

然后输入命令:

切换目录:
cd /usr/local/node/bin./yapi server

 2.2 启动服务

在浏览器输入:http://101.132.58.85:9090/,选择这个版本

初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"

部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问

如果无法访问这个页面,得在阿里云安全组设置端口访问

 启动yapi

如果不知道yapi安装目录,用命令:
find / -name "config.json" | grep yapi然后到目录
/usr/local/node/bin/my-yapi/vendors/server启动yapi
node app.js后台运行,关掉窗口后yapi还在
node app.js &

YApi-高效、易用、功能强大的可视化接口管理平台

3.利用pm2方便服务管理维护

3.1.安装pm2

   由于命令管理yapi不方便比如想停止yapi进程:

[root@iZuf6iom68zjwhoqb0cw70Z server]# ps aux | grep "node app.js"
root      4476  0.0  0.0 112812   992 pts/1    S+   22:08   0:00 grep --color=auto node app.js
root     30798  0.6  3.3 659992 59804 pts/0    Sl   21:57   0:03 node app.js
[root@iZuf6iom68zjwhoqb0cw70Z server]# kill -9 30798  # 强制终止
[root@iZuf6iom68zjwhoqb0cw70Z server]# 
# 安装 PM2
npm install pm2 -g

# 切换到 YApi 目录
cd /usr/local/node/bin/my-yapi/vendors/server# 用 PM2 启动 YApi(命名为 yapi)
pm2 start app.js --name yapi

如果报错误:-bash: pm2: command not found

那么是环境变量没有安装

npm list -g | grep pm2

如果输出中包含 pm2(例如 /usr/local/lib/node_modules/pm2),说明已安装,但系统找不到它。

运行以下命令,查看 npm 全局包的安装位置:

npm config get prefix

典型输出可能是:

  • /usr/local(默认)

  • /usr/local/node(自定义路径)

  • /root/.nvm/versions/node/[版本号](如果使用 nvm 管理 Node.js)

假设输出是 /usr/local/node,则 PM2 的可执行文件路径为:
/usr/local/node/bin/pm2

将路径添加到 PATH 环境变量

vi /etc/profile
添加
export PATH=$PATH:/usr/local/node/binsource  /etc/profile确保 Node.js 和 npm 已正确安装

 再次执行

# 切换到 YApi 目录
cd /usr/local/node/bin/my-yapi/vendors/server# 用 PM2 启动 YApi(命名为 yapi)
pm2 start app.js --name yapi# 设置开机自启
pm2 startup
pm2 save

3.2 常用 PM2 命令

# 查看 YApi 运行状态
pm2 status yapi# 查看日志
pm2 logs yapi# 重启 YApi
pm2 restart yapi# 停止 YApi
pm2 stop yapi# 监控资源占用
pm2 monit

浏览器访问 http://你的服务器IP:3000 确认 YApi 界面是否加载。

完成后,YApi 将由 PM2 守护运行,即使服务器重启也会自动恢复。

4.常见问题

如果遇到注册一个账号隔一会或第二天就提示不存在了

4.1. 确认 MongoDB 是否安装

运行以下命令检查 MongoDB 是否已安装:

bash

复制

下载

# 检查 MongoDB 程序是否存在
which mongod# 或查看安装包
rpm -qa | grep mongo
  • 如果无输出,说明 MongoDB 未安装,需先安装。

  • 如果有输出(如 mongodb-org-server-4.4.x),说明已安装但服务未正确配置。


4.2. 安装 MongoDB(若未安装)

步骤 1:添加 MongoDB 官方仓库

bash

复制

下载

# 创建 MongoDB 仓库文件
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

步骤 2:安装 MongoDB

bash

复制

下载

sudo yum install -y mongodb-org# 启动服务并设置开机自启
sudo systemctl start mongod
sudo systemctl enable mongod

步骤 3:验证服务状态

bash

复制

下载

sudo systemctl status mongod  # 确认状态为 "active (running)"

4.3. 如果 MongoDB 已安装但服务未启动

可能原因

  • 服务名称不符(如某些系统使用 mongodb 而非 mongod)。

  • 服务文件未正确生成。

解决方案

bash

复制

下载

# 尝试其他常见服务名称
sudo systemctl status mongodb# 手动查找服务文件
ls /usr/lib/systemd/system/mongod*  # 或 mongodb*# 如果存在服务文件但未启动
sudo systemctl start mongod
sudo systemctl enable mongod

4.4. 检查 MongoDB 数据目录

YApi 的数据依赖 MongoDB,需确保数据目录存在且权限正确:

bash

复制

下载

# 默认数据目录
ls -l /var/lib/mongo# 如果目录不存在,手动创建并授权
sudo mkdir -p /var/lib/mongo
sudo chown -R mongod:mongod /var/lib/mongo

4.5. 重新启动 YApi

确保 MongoDB 正常运行后,重启 YApi:

bash

复制

下载

cd /usr/local/node/bin/my-yapi/vendors/server
pm2 restart app.js --name yapi

4.6. 验证 YApi 数据持久化

连接到 MongoDB 检查 YApi 的账号数据是否存在:

bash

复制

下载

mongo
use yapi
db.user.find()  # 查看已注册的用户
  • 如果 user 集合为空,说明之前的数据未持久化,需重新注册账号并观察是否再次丢失。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90633.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90633.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/90633.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云错题集分享

有最近想要考试阿里云的可以私信我 &#xff0c;一起加油错题集1.在使用阿里云的负载均衡SLB实例时&#xff0c;做了如下健康检查的配置:成功响应和超时响应时间均为1秒&#xff0c;健康检查间隔为2秒&#xff0c;不健康阈值为3&#xff0c;健康阈值为3。即对于确认一个云服务器…

Android 12 - 部分相机横屏显示方案

1.相机过渡界面方向旋转 Android 10 - 相机过渡界面默认角度 同A10 有些区别&#xff0c;再次增加记录修改。 这个文件没有修改&#xff0c;只是说明 src/com/android/camera/CameraActivity.javaprivate void freezeScreenCommon(boolean async) {long startTime System.…

Operation Blackout 2025 Phantom Check hayabusa+ControlSet001+VirtualBox

QAQA攻击者使用哪个 WMI 类来检索型号和制造商信息以进行虚拟化检测&#xff1f;Win32_ComputerSystem攻击者执行了哪个 WMI 查询来检索计算机的当前温度值&#xff1f;SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature攻击者加载了 PowerShell 脚本以检测虚拟化…

《O-PAS™标准的安全方法》白皮书:为工业自动化系统筑起安全防线

The Open Group 最新白皮书《O-PAS™标准的安全方法》重磅发布&#xff0c;为流程工业在迈向开放架构与多供应商互操作的过程中&#xff0c;指明了安全实践的方向。O-PAS™标准的安全方法ABOUT PUBLICATION亮点一&#xff1a;首次系统阐释 O-PAS™ 标准安全方法与 IEC/ISA 6244…

UML 图类型全解析:结构图与行为图分类详解

作为软件架构的核心建模语言&#xff0c;UML&#xff08;统一建模语言&#xff09;通过14种标准图表提供系统多维度视角。这些图表分为结构图&#xff08;静态模型&#xff09; 和 行为图&#xff08;动态模型&#xff09; 两大类&#xff0c;覆盖从需求到实现的完整生命周期。…

lodash不支持 Tree Shaking 而 lodash-es可以

lodash 无法有效支持 Tree Shaking 而 lodash-es 可以&#xff0c;核心区别在于‌模块规范、文件结构和静态分析兼容性‌。以下是具体原因分析&#xff1a; ⚙️ 一、模块规范差异&#xff08;核心原因&#xff09; lodash&#xff08;CommonJS 规范&#xff09;‌ 使用 requir…

java+vue+SpringBoo高校实习信息发布网站(程序+数据库+报告+部署教程+答辩指导)

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot数据库&#xff1a;mysql 开发工具 JDK版本&#xff1a;JDK1.8 数…

uniApp实战五:自定义组件实现便捷选择

文章目录1.最终效果预览2.快速选择组件封装3.弹框组件封装4.组件逻辑实现5.组件样式6.页面引入1.最终效果预览 2.快速选择组件封装 <uv-cell :border"isShowBorder"><template v-slot:title><text class"title-key">{{ title }}</te…

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路 一、医疗领域:AI驱动的精准诊疗与效率提升 1. 医学影像诊断 AI算法通过深度学习技术,已实现对X光、CT、MRI等影像的快速分析,辅助医生检测癌症、骨折等疾病。例如,Google DeepMind的AI系统在乳腺癌筛查中,误检率…

模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》

性能调优&#xff1a;Profile驱动优化与汇编级分析实战&#xff1a;优化矩阵乘法至SSE/AVX指令集&#xff08;终极加强版&#xff09;一、性能瓶颈的全链路诊断&#xff08;深度扩展&#xff09;1.1 硬件性能计数器的极致利用PMU事件深度定制&#xff1a;# 捕获L1缓存事件与分支…

二刷 黑马点评 商户查询缓存

缓存 数据交换的缓冲区&#xff0c;俗称的缓存是缓冲区内的数据&#xff0c;一般从数据库中获取&#xff0c; 例1:Static final ConcurrentHashMap<K,V> map new ConcurrentHashMap<>(); 本地用于高并发例2:static final Cache<K,V> USER_CACHE CacheBuild…

【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化

效果 现代网页弹窗开发指南&#xff1a;从基础到优化 弹窗&#xff08;Modal&#xff09;作为网页交互的重要组件&#xff0c;在用户通知、确认操作和表单输入等场景中广泛应用。本文将循序渐进地讲解弹窗的技术实现与最佳实践。 一、弹窗基础概念 弹窗是一种覆盖在主内容之…

【操作系统】线程

JavaEE—线程 一、进程与线程 1.包含管理 2.资源布局 2.1公共资源 2.2私有资源 二、并发编程 1.多线程优势 1.1创建 1.1.1多线程 1.1.2多进程 1.2通信 1.2.1多线程 1.2.2多进程 1.3调度 1.3.1多线程 1.3.2多进程 1.4销毁 1.4.1多线程 1.4.2多进程 2.多进程…

React 自定义Hook——页面或元素滚动到底部监听 Hook

功能简介 useReachBottom 是一个 React 自定义 Hook&#xff0c;支持监听页面&#xff08;body&#xff09;或任意可滚动元素&#xff08;如 div&#xff09;是否滚动到底部。它能帮助你在用户滑动到底部时触发加载更多、显示提示等操作&#xff0c;极大提升前端交互体验。 亮…

当Powerbi遇到quickbi,性能优化方式对比

powerbi性能优化对于powerbi&#xff0c;性能优化可以从15个方面考虑&#xff1a; 1.过滤源数据【quickbi数据集过滤或sql过滤】2.删除无关列 【quickbi不选字段或sql不查询】3.聚合分析粒度 【quickbi使用sql聚合或计算字段聚合】4.整理字段 【quickbi使用sql聚合或计算字段聚…

ValueConverter转换器WPF

属性搭桥 比如BoolToVisibility 创建两个属性 Bool Visibility 这样不好 混乱了viewmodels 降低了泛用性系统自带的convertor <Window.Resources><BooleanToVisibilityConverter x:Key"booltovis"></BooleanToVisibilityConverter><…

Qt数据库编程详解:SQLite实战指南

Qt数据库编程详解&#xff1a;SQLite实战指南 目录 SQLite数据库简介Qt数据库核心类数据库操作全流程CRUD操作实战运行效果展示 1. SQLite数据库简介 SQLite是Qt内置的轻量级嵌入式数据库&#xff1a; #mermaid-svg-OiZ2cgq9n1G69iH5 {font-family:"trebuchet ms",…

FastAPI 与 OpenIddict 的微服务鉴权整合方案

架构概述基于微服务的身份认证架构采用OAuth 2.0/OpenID Connect协议&#xff0c;OpenIddict作为认证服务器&#xff0c;FastAPI作为资源服务器。系统包含三个核心组件&#xff1a;认证服务、API网关和业务微服务。OpenIddict负责颁发令牌&#xff0c;FastAPI通过JWT验证访问权…

计算两个点的欧式距离

目录 一、概述 二、公式 1、二维空间 2、三维空间 3、n 维空间 三、python实现 一、概述 欧式距离&#xff08;Euclidean Distance&#xff09;是一种在欧几里得空间中度量两个点之间距离的常用方法&#xff0c;其公式根据空间维度的不同而不同 二、公式 1、二维空间 对于二…

八股训练--RabbitMQ

一、经典问题 1.为什么要用MQ&#xff1f; MQ的作用主要是3个&#xff0c; 第一个是流量削峰&#xff1a;当某个活动举行时&#xff0c;访问量可能是平时的几百倍&#xff0c;可能一下会把服务器弄崩溃&#xff0c;所以通过MQ的形式&#xff0c;引入中间者&#xff0c;客户端…