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 的相关文章

  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta

随机推荐

  • 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来作为解决