Linux安装Yapi

2023-05-16

需求:按公司需求,前后端开发,由于过往开发都是后端先进行,前端须等后端开发玩接口,依照开发文档才能进行接口调试,大大增加了项目时间,故采用YAPI来作为解决方案

好处:(个人认为)

1:支持线上部署,接口不易丢失(接口文档可能存在系统重装或某些特殊情况丢失情况),即时同步

2:支持多种数据管理模式。Swagger、postman等等

3:支持多种请求模式,GET\POST\PUSH等等

4:支持默认接口返回值。前端不再需要后端开发完接口进行联调,可以直接调用yapi接口地址,就很方便,会直接返回yapi设置的默认结果集

5:支持多用户、多项目管理,页面简洁清晰

6:这个目前是免费滴,免费滴,免费滴,滴滴滴滴滴滴滴滴

前言
话不多说,开始安装,安装时间为22年1月,参考了很多其他写的博客,大多使用比较老的版本,特别是node和mongodb

node地址:Node.js Mirror 这里使用的是v12版本,现阶段最新好像是v14,但是都说太高版本会安装失败,但我也不懂,没用过。安装node不要安装小于12的版本,linux安装v10会直接显示版本太老了

mogondb地址:MongoDB Community Download | MongoDB

PART 1: 安装NODE
由于很多博文说,不要安装太高版本的node,容易失败,访问地址发现最新版本是v14,且node维护最多的都说偶数版本,所以选择了node12。

一:下载并安装
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
二:查询node版本
node -v
三:查询npm版本
npm -v
PART 2: 安装Mongodb
访问Mongodb官网MongoDB Community Download | MongoDB,发现目前最新版本是5.0版本,这里我们不用压缩包安装

 

一:更新yum
很多博客都这么说,但确实无害,那就更新吧(摊手),更新要时间,耐心等待

yum -y update
二:创建Mongodb源文件,并编辑,保存
touch /etc/yum.repos.d/mongodb-org.repo
 
 
vim /etc/yum.repos.d/mongodb-org.repo
mongodb-org.repo写入下列代码:

[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/5.0/x86_64/
gpgcheck=0
enabled=1
注意:这里baseurl是Mongodb的安装文件地址,刚刚上文说了,最新版本是5.0的,如果安装其他版本,把5.0改为其他就行了,另外5.0.5也是5.0,不要写5.0.5

三:安装mongodb
yum install -y mongodb-org


四:启动mongodb
service mongod start
五:设置开机启动
chkconfig mongod on
 注:如果提示Failed to execute operation: No such file or directory

 

 这里是因为linux版本是centos是7.0以上版本,需要执行下面代码,如果没报错就忽略

systemctl enable mongod.service
六:配置远程访问
        修改mongod.conf配置文件  注释 bindIp: 127.0.0.1,然后保存

vim /etc/mongod.conf


七:重启mongod
service mongod restart
PART 3: 安装YAPI
yapi文档地址:内网部署

 

提前准备:云服务器安全组,开放9000 和3000端口

一: 安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
安装后显示如下,这时就代表成功了

 

二:平台部署配置
安装成功后,默认端口是9000,开发服务器9000端口,通过IP地址访问:http://ip:9000

 图中所示3000是,yapi后台地址,这里我就默认了,27017是刚刚安装的mongondb的连接端口,由于是内网,所以服务器没有必要开放27017端口。

注:记住yapi部署路径,可自定义

管理员邮箱将作为你的YAPI登录账号

点击“开始部署”,等待,会出现如下图,则部署成功

 

三:启动yapi后端服务器
按ctrl+C,退出,然后进入到yapi部署路径

cd /root/my-yapi
启动服务

node vendors/server/app.js
守护线程启动

(允许执行其他shell脚本,yapi服务不关闭,但是关闭shell客户端后,yapi会关闭)

node vendors/server/app.js &
访问地址:http://ip:3000

登录账号:你在PRAT3第二步是配置的管理员邮箱

登录密码:ymfe.org  (密码可以修改,登录后自行在后台修改)

PART4: pm2后台启动Yapi
这种启动方式,可以关闭shell客户端,yapi进程依旧存在。

一:安装pm2
npm install -g pm2
二:pm2启动yapi
由于我安装yapi的目录就是上文让记录部署路径:/root/my-yapi

pm2 start /root/my-yapi/vendors/server/app.js


三:pm2关闭YAPI
pm2 stop /root/my-yapi/vendors/server/app.js
到此安装步骤全部结束,可以愉快的使用YAPI了

 

PART5: 禁用注册功能
当外人知晓yapi访问路径后,就可以自行进行注册,不太好,

这时管理员可以手动注册用户,然后再禁用注册功能,就能防止外人注册了

首先进入yapi的安装目录,上面已经讲过了,记住路径,默认是/root/my-yapi/目录下

编辑config.json文件,插入 closeRegister=true 开启禁用用户注册功能

cd /root/my-yapi
vim config.json
{
   "port": "3000",
   "adminAccount": "abc@abc.com",
   // 开启禁用注册功能,ture: 禁用注册功能 false: 允许注册
   "closeRegister":true,
   "db": {
      "servername": "127.0.0.1",
      "DATABASE": "yapi",
      "port": "27017"
   },
   // 这里是管理员邮箱的邮件服务器配置,yapi安装好后会自动存在,不用管他
   // 不同邮箱的配置都不一样,我的是163邮箱
   "mail": {
      "enable": false,
      "host": "smtp.163.com",
      "port": 465,
      "from": "***@163.com",
      "auth": {
         "user": "***@163.com",
         "pass": "*****"
      }
   }
}
保存,然后通过pm2重启即可

pm2 restart /root/my-yapi/vendors/server/app.js
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux安装Yapi 的相关文章

  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Linux 上的静态 Qt5 构建:部署时如何处理字体?

    我使用这些配置选项创建了 Qt 5 2 0 库的静态版本 Ubuntu 12 04 开源 确认许可 force pkg config 发布 静止的 前缀 home juzzlin qt5 无icu opengl桌面 无油嘴滑舌 辅助功能 n
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • PhoneGap读写SD卡——文本文件方式

    1 从SD卡中的文本文件读取数据 lt script type 61 34 text javascript 34 charset 61 34 utf 8 34 gt 等待加载PhoneGap document addEventListene
  • 如何获取微信uin

    首先解释什么是微信的 uin xff1a uin就是user information xff0c 也就是特定微信用户的ID 为什么要取得uin呢 xff1f xff1a 因为有读取微信聊天记录的需求 xff0c 微信android版的数据库
  • ODBC连接MySQL时中文乱码问题的解决

    按照网上提供的ODBC连接数据库的相关资料编写代码 xff0c 成功编译后运行发现 xff0c 非中文字段显示正确 xff0c 而中文字段却是每个汉字以 xff1f 显示 关于这方面的错误baidu或google下可以找到很多解答方案 xf
  • MySQL批量导入Excel、txt数据

    我想Excel是当今最大众化的批量数据管理软件了吧 xff0c 所以我们会经常涉及到将Excel中数据导入到MySQL中的工作 网上有一些关于直接将Excel导入MySQL的教程 xff0c 不知道是我安装的office不对还是MySQL不
  • Android ADT安装技巧其常见错误处理

    按照一般教程书籍的安装方法 xff0c 无外乎是 xff1a 首先打开eclipse xff0c 然后依次单击Help Install New Software xff0c 如下图所示 xff1a 单击后弹出的Install界面中的 Add
  • ubuntu 第一次SU密码

    Ubuntu刚安装后 xff0c 不能在terminal中运行su命令 xff0c 因为root没有默认密码 xff0c 需要手动设定 以安装ubuntu时输入的用户名登陆 xff0c 该用户在admin组中 xff0c 有权限给root设
  • Android开发——自动连接指定SSID的wifi热点(不加密/加密)

    最近在做一个项目 xff0c 其中涉及到一块 自动连接已存在的wifi热点 的功能 xff0c 在网上查阅了大量资料 xff0c 五花八门 xff0c 但其中一些说的很简单 xff0c 即不能实现傻瓜式的拿来就用 xff0c 有些说的很详细
  • iOS开发:开发者账号申请后真机调试详细步骤

    前提 xff1a 已经成功申请了iOS开发者账号 环境 xff1a xcode 4 6 1 xff1b iOS 6 1 2 1 授权设备 xff1a 进入Apple Developer会员中心 xff0c 点击图中的iOS Provisio
  • Python个人学习记录

    Python个人学习记录 一 输出 xff08 print 函数 xff09 1 控制台输出2 将内容输出到文件中3 不进行换行输出 xff08 输出内容在一行当中 xff09 二 转义字符1 普通转义字符2 特殊用途的字符 xff08 反
  • 解决ERROR 1064 (42000): You have an error in your SQL syntax..

    在MySQL命令行使用sql语句进行建表或者查询表时 xff0c MySQL 报错 例如 xff1a 在下面的数据库中查看like表 当我们输入sql语句进行查询时 xff0c 发现会报错 其实这个问题是语法上的错误 xff0c 在MySQ
  • Onedrive不限速还有5T空间,且行且珍惜

    由于百度网盘的限速 xff0c 不得已开始捣鼓微软的OneDrive网盘 相对于百度网盘 xff0c Onedrive最大的优势是不限速 xff0c 速度也是难得的友好 相对于百度网盘 xff0c Onedrive最大的劣势是空间大小 xf
  • iOS图片的填充方式UIImageView(contentMode)有什么不同

    UIViewContentModeScaleAspectFit 这个图片都会在view里面显示 xff0c 并且比例不变 这就是说 如果图片和view的比例不一样 就会有留白如下图1 图1 UIViewContentModeScaleAsp
  • windows 下包管理工具vcpkg安装

    主要参考博文 xff1a vcpkg安装及使用 我叫电池的博客 CSDN博客 vcpkg安装 由于需要在离线环境下面搭建开发环境 xff0c 所有的包只能离线安装了 xff0c 包括这个管理工具vcpkg的安装 xff0c 也必须是离线安装
  • 【Python】如何发布编写好的Python应用程序之Python Release for Windows(附踩坑经验)

    运筹优化博士 xff0c 只做原创博文 更多关于运筹学 xff0c 优化理论 xff0c 数据科学领域的内容 xff0c 欢迎关注我的知乎账号 xff1a https www zhihu com people wen yu zhi 37 最
  • ubuntu 下更改docker的默认位置

    首先查看docker位置 xff1a docker info 原先的位置默认应该都在 var lib docker 停止docker服务 systemctl stop docker 查看量大容的位置 xff0c 然后在上面创建转移目录文件夹
  • 编译 NDK 编译 freerdp 转载:测试成功

    最近著名的开源rdp客户端freerdp的android版本终于出来了 xff0c 经过9个月的跳票终于release了第一版 下面简单说说编译的过程 这个是需要用到cmake来编译 xff0c 所以系统推荐用ubuntu或者mac xff
  • 1.VMWare-Ubuntu-内存不足处理办法 2.VMWare-Ubuntu-扩展内存后黑屏解决办法

    问题描述 xff1a 1 VMWare Ubuntu 内存不足 2 VMWare Ubuntu 扩展内存后黑屏 解决办法 xff1a 详情参考文章https www cnblogs com codingdog p 14879313 html
  • Linux目录解释

    bin bin是binary 二进制 的缩写 这个目录是对UNIX系统习惯的沿袭 xff0c 存放着使用者最经常使用的命令 例如 xff1a cp ls cat boot 这里存放的是启动LINUX时使用的一些核心文件 dev dev是de
  • 数据库的插入更新语句

    目的 xff1a 实现在数据库插入数据的时候 xff0c 只对重复的数据进行更新 xff1b 实现方式 xff1a 1 在表中建立一个唯一索引 xff0c 主键 xff08 已有唯一索引的特性 xff09 2 在插入数据 sql语句 xff
  • Linux安装Yapi

    需求 xff1a 按公司需求 xff0c 前后端开发 xff0c 由于过往开发都是后端先进行 xff0c 前端须等后端开发玩接口 xff0c 依照开发文档才能进行接口调试 xff0c 大大增加了项目时间 xff0c 故采用YAPI来作为解决