安装YMFE/yapi API管理服务器(Ubuntu20)

2023-05-16

GitHub - YMFE/yapi: YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台. Contribute to YMFE/yapi development by creating an account on GitHub.https://github.com/YMFE/yapi根据文档介绍,先安装nodejs(7.6+)和mongodb(2.6+)

-----------------------------------------

安装nodejs  

Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.https://nodejs.org/zh-cn/

官方手顺

通过包管理器安装 Node.js | Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.https://nodejs.org/zh-cn/download/package-manager/

推荐使用方法1进行安装
方法1:


Node.js v16.x:

# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs  

方法一 使用了NodeSource提供的二进制包进行安装,NodeSource提供了常用的Linux系统(Ubuntu,CentOS,RedHat,Debian等)安装Node的二进制包,具体简介可以访问Linux通过二进制包安装nodejs
方法2:
在nodejs官方网站download页面中选择需要使用的版本,可以选择LTS或current,选择对应系统右键复制链接地址


如果需要下载历史版本可以选择download页面底部PreviousReleases,也可以直接访问http://nodejs.org/dist/或https://nodejs.org/download/release/


当然你也可以使用淘宝npm镜像下载对应的node版本下载地址
下载nodejs压缩文件
wget https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x64.tar.xz

解压
tar -xvf node-v8.1.0-linux-x64.tar.xz

切换并查看当前node所在路径
cd node-v8.1.0-linux-x64/bin
pwd

查看node版本
./node -v

将node和npm设置为全局
sudo ln /home/ubuntu/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node
sudo ln /home/ubuntu/node-v8.1.0-linux-x64/bin/npm /usr/local/bin/npm
pwd

方法三:
也可以使用ubuntu自带apt-get安装,安装后使用node -v查看版本

sudo apt-get install nodejs-legacy nodejs
sudo apt-get install npm

安装完成
推荐使用方法一,直接安装在系统环境/usr/bin目录下,之后使用npm -g安装其他插件也会安装到/usr/lib/node_modules’(需要使用sudo权限)‘。
如果使用方法二,将nodejs路径链接到/usr/local/bin目录下,则每次npm -g安装插件都会安装在nodejs原路径下的node_modules(比如/home/ubuntu/node-v8.1.0-linux-x64/lib/node_modules),每次代码中引用插件也需要到此目录下去找
 

---------------------------------

安装mongodb

MongoDB: The Developer Data Platform | MongoDB | MongoDBGet your ideas to market faster with a developer data platform built on the leading modern database. MongoDB makes working with data easy.https://www.mongodb.com/Install MongoDB Community Edition on Ubuntu — MongoDB Manualhttps://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/

导入包管理系统使用的公钥

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -

如果命令执行结果没有显示OK,则执行此命令在把上一句重新执行:

sudo apt-get install gnupg

注册mongodb源

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

更新源

sudo apt-get update

安装最新版本

sudo apt-get install -y mongodb-org

可选的。尽管您可以指定任何可用的 MongoDB 版本, apt-get但当有更新的版本可用时将升级包。为防止意外升级,您可以将软件包固定在当前安装的版本:

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-database hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
 

安装指定版本

sudo apt-get install -y mongodb-org=6.0.0 mongodb-org-database=6.0.0 mongodb-org-server=6.0.0 mongodb-mongosh=6.0.0 mongodb-org-mongos=6.0.0 mongodb-org-tools=6.0.0

重新加载配置,并启动mongodb

sudo systemctl daemon-reload
sudo
systemctl start mongod

sudo systemctl status mongod

sudo systemctl enable mongod

MongoDB 数据库和日志文件

/var/log/mongodb
/var/lib/mongodb
 

修改配置,开放27017端口 ,以及开发外网链接

sudo vim /etc/mongod.conf

------------------------------------------------

安装yapi

/usr/lib/node_modules/yapi-cli/

使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。

npm install -g yapi-cli --registry https://registry.npm.taobao.org
sudo npm install --location=global yapi-cli --registry https://registry.npm.taobao.org
sudo yapi server 

-----------------------------

~$ npm install -g yapi-cli --registry https://registry.npm.taobao.org
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm notice
npm notice New minor version of npm available! 8.11.0 -> 8.15.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.15.1
npm notice Run npm install -g npm@8.15.1 to update!
npm notice
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/lib/node_modules/yapi-cli
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/yapi-cli'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/yapi-cli'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/lib/node_modules/yapi-cli'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/songtao/.npm/_logs/2022-07-29T05_13_05_399Z-debug-0.log
 

----------------------------------------

~$ npm install -g npm@8.15.1
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code EACCES
npm ERR! syscall rename
npm ERR! path /usr/lib/node_modules/npm
npm ERR! dest /usr/lib/node_modules/.npm-qUIFSsiV
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR!  [Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'rename',
npm ERR!   path: '/usr/lib/node_modules/npm',
npm ERR!   dest: '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/songtao/.npm/_logs/2022-07-29T05_14_21_279Z-debug-0.log
 

--------------------------------------

~$ sudo npm install --location=global npm@8.15.1

changed 14 packages, and audited 202 packages in 5s

11 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
-----------------------------------------

sudo npm install --location=global yapi-cli --registry https://registry.npm.taobao.org

npm WARN deprecated axios@0.16.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated bson@1.0.9: Fixed a critical issue with BSON serialization documented in CVE-2019-2391, see https://bit.ly/2KcpXdo for more details
-----

~$ grep axios -r /usr/lib/node_modules/yapi-cli/ |grep 0.16.2
/usr/lib/node_modules/yapi-cli/node_modules/axios/dist/axios.min.js:/* axios v0.16.2 | (c) 2017 by Matt Zabriskie */
/usr/lib/node_modules/yapi-cli/node_modules/axios/dist/axios.js:/* axios v0.16.2 | (c) 2017 by Matt Zabriskie */
/usr/lib/node_modules/yapi-cli/src/commands/server/axios.js:/* axios v0.16.2 | (c) 2017 by Matt Zabriskie */
/usr/lib/node_modules/yapi-cli/package.json:    "axios": "^0.16.2",
-------

sudo vim.tiny /usr/lib/node_modules/yapi-cli/package.json

sudo yapi server 

--------------------------------------------

nodejs16安装失败

YApi手动部署:

安装-手动

mkdir yapi 
cd yapi 
git clone https://github.com/YMFE/yapi.git vendors 
cp vendors/config_example.json ./config.json // ⚠️  复制完成后把内容修改为 config.json
cd vendors 
rm package-lock.json // ⚠️ 一定要删除 package-lock.json 
npm install --production --registry https://registry.npm.taobao.org 
npm run install-server 
node server/app.js 

config.json 参考

{
  "port": "3000",
  "adminAccount": "admin@admin.com",
  "timeout":120000,
  "db": {
    "servername": "127.0.0.1",
    "DATABASE": "yapi",
    "port": 27017
  },
  "mail": {
    "enable": false,
    "host": "smtp.163.com",
    "port": 465,
    "from": "***@163.com",
    "auth": {
      "user": "***@163.com",
      "pass": "*****"
    }
  }
}
 

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

安装YMFE/yapi API管理服务器(Ubuntu20) 的相关文章

  • iOS_NSAttributedString 的21种属性详细介绍(图文混排)

    说明 NSAttributedString 可以非常方便的实现文字排版和图文混排功能 共有21中效果 API 本文将较详细的介绍21种的属性的使用 注 本博客由 64 凡俊编写 64 Scott 64 春雨 审核 若转载此文章 请注明出处和
  • ++和--的用法

    单独使用时 xff0c 43 43 或者 无论是放在变量的前面还是后面 xff0c 结果是一样的 参与操作时 如果 43 43 或者 在变量的后面 xff0c 先拿变量参与操作 xff0c 后变量做 43 43 或者 例如 int a 61
  • geoserver集群

    软件准备 geoservertomcat 插件 下载地址 xff1a https build geoserver org geoserver activeMQ broker plugin zipjms cluster plugin zip
  • 为moment.js正名

    说来也奇怪 xff0c 总有人在耳边说moment js对国际化日期支持不好 xff0c 坚决不要使用 xff0c 会带来很多问题之类的话 但就我个人经验来看 xff0c 还从未见到过任何一个反例 xff0c 恰好我又是个不信邪的人 xff
  • sqlite3 的二进制数据插入与获取

    sqlite3 存储和查找二进制数据对象 使用c语言接口 思路 xff1a 通过让代码执行执行sql语句进行查找 xff0c 但二进制的显示方法无法确定所以 xff0c 二进制数据对象查询语句略有不同 注意 xff1a sqlite3的数据
  • MySQL修改数据表中的字段名

    MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名 在同一张数据表中 xff0c 不能出现两个名称完全相同的字段名 因此 xff0c 数据库系统可以通过字段名来区分数据表中的不同字段 在MySQL中 xff0c AL
  • 证明:当gcd(a, b) = 1,则gcd(a + b, a) = 1

    假设 xff1a gcd a b 61 1 证明 xff1a gcd a 43 b b 61 1 反证法 xff1a 假设gcd a 43 b b 61 k 61 1 则 xff1a b 61 k r1 a 43 b 61 a 43 k r
  • 实战microPython(二)时钟和日历的使用

    实战microPython 2 时钟和日历的使用 David Zou 创客DIY乐园 对于一名创客 xff0c 自制一个个性化的时钟或闹钟啥的 xff0c 应该是比较常见的入门级任务了 通常我们制作时钟或闹钟的时候 xff0c 都需要借助专
  • 实战microPython(10)-蓝牙模块的使用

    实战microPython 10 蓝牙模块的使用 David Zou 2018 12 27 本文讲解蓝牙模块的使用 xff0c 以及通过uPyBoard来操作蓝牙模块并实现手机和uPyboard互动 正在学习和使用uPyBoard开发的小伙
  • nohup: failed to run command ‘java’: No such file or directory解决方案

    场景 xff1a Jekins实现自动化部署 问题描述 Jekins打包后端项目后发送Jar到对应的应用服务器 xff0c 通过应用服务器Shell脚本启动服务报错 nohup span class token operator span
  • System.DllNotFoundException: 无法加载DLL

    问题描述 使用VS2005在Windows Server 2003上编译C 43 43 代码 输出dll文件 把该dll放到运行机器 与编译机器的系统完全一致 上 供C 代码 web前台 调用 提示无法加载dll 分析 1 路径完全没有问题
  • Flutter学习(一)

    开始学习 为什么使用 Fultter xff1f 为什么使用 Fultter xff1f 言归正传 xff0c 亘古不变环境搭建 xff1a Android Studio 下载 xff0c 我的是这个版本 xff0c emmmm 首先安装g
  • 树莓派 ubuntu18.04 mate更换为国内镜像源

    文章目录 前言正文参考 前言 我使用树莓派3B 43 xff0c 烧写的操作系统为ubuntu mate18 04 网上的相关教程很多 xff0c 但说的很详细的不多 xff0c 本文算是做一个简单的整理 树莓派采用的是arm架构 xff0
  • Spring常见面试题总结(超详细回答)

    1 Spring是什么 Spring是一个轻量级的IoC和AOP容器框架 是为Java应用程序提供基础性服务的一套框架 xff0c 目的是用于简化企业应用程序的开发 xff0c 它使得开发者只需要关心业务需求 主要包括以下七个模块 xff1
  • 在android studio中使用kotlin

    一 安装kotlin插件 二 导入Kotlin的核心库及其扩展库Anko库 1 在项目根目录下的build gradle文件中指定kotlin插件的版本及路径 buildscript ext kotlin version 61 span c
  • sublime Text SFTP LICENSE 注册码

    34 email 34 34 xiaosong 64 xiaosong me 34 34 product key 34 34 d419f6 de89e9 0aae59 2acea1 07f92a 34 这个就是SFTP注册码 将上面的代码复
  • Aliddns插件使用:小白超详细图文教程

    Aliddns插件使用 xff1a 小白超详细图文教程 Aliddns插件 xff0c 用阿里的云解析速度是快 xff0c 天下武功为快不破 作为一个小白的我 xff0c 看这篇帖子也是一脸懵逼 xff0c http koolshare c
  • 在PyQt5中使用多进程(multiprocessing)

    multiprocessing对象要放在 main 所在的启动文件使用槽连接multiprocessing对象 import sys from multiprocessing import Pool from PyQt5 QtWidgets
  • go使用exec执行命令

    golang exec 命令执行
  • 【汇编】AT89C52点亮一盏LED灯(汇编语言)

    学习利用汇编语言写单片机程序的第一步是要学习汇编语言的相关理论知识 xff0c 那么实践操作的第一步肯定是从点灯开始啦 xff01 编译环境 xff1a keil4 编译语言 xff1a 汇编语言 内容 xff1a 一 keil4建立AT8

随机推荐

  • wsl-常见问题

    基于wsl2的docker如何迁移镜像文件 默认基于wsl2的docker desktop的镜像是有wsl2管理的 xff0c 而wsl2一般在c盘 当下载的镜像多了之后 xff0c 就会把C盘爆满 wsl shutdown wsl exp
  • 求0-7所组成的奇数个数

    include lt stdio h gt include lt stdlib h gt main long sum 61 4 long s 61 4 int j for j 61 2 j lt 61 8 j 43 43 printf 34
  • UITabBarController详解

    一 UITabBarController简介 一 继承关系 UITabBarController和UINavigationController类似 xff0c 也继承于UIViewController xff0c 也可以轻松地管理多个控制器
  • 关于多卡Android设备获取手机号的研究

    首先我们都知道如何获取Android手机的Sim手机号 fun getNativePhoneNumber context Context String val tm 61 context getSystemService Context T
  • 【入门学习三】基于 FPGA 使用 Verilog 实现按键状态机代码及原理讲解

    目录 一 状态机二 模块设计三 代码实现四 管脚配置及结果展示 上一篇博文 xff1a 入门学习二 基于 FPGA 使用 Verilog 实现蜂鸣器响动的代码及原理讲解 概述 xff1a 前面的两篇文章 xff0c 其中按键模块采用的是延时
  • 【二分】洛谷_3902 递增

    题意 给出n个数 xff0c 求出修改最少的数字 xff0c 使得数列严格单调递增 思路 我们用一个数组s来记录当前存到的数字 xff0c 每次放进一个数字 xff0c 我们就判断它是不是比之前的数小 xff0c 否则我们就二分找到一个最好
  • 使用mysql语句进行分组查询

    使用mysql语句进行分组查询 1 作用 对整个数据表的某几个字段进行分组 然后通过分组函数得到我们想要的结果 2 如何用 2 1 只分一个组 2 1 1 本质 就是根据分组字段把整个表的数据分为几组 然后分别对每组里面的数据进行汇总查询或
  • 删除流氓软件 Alibaba PC Safe Service

    好久没用笔记本了 xff0c 之前被人再用 xff0c 今天偶尔想用下 xff0c 开机遇到两件恶心到家的事情 xff0c 第一件 xff0c 360弹窗 xff0c 不停的显示 xff0c 感觉特别烦就卸载了360所有的东西 xff1b
  • 枚举类型字符化输出的方法

    方法一 xff1a 用函数 xff08 简单的应用场景下 xff09 方法二 xff1a 用字符串转换 创建枚举类型 enum athleteName WANG ZHOU SU CHO KIM LI MIRE BOUTIN 创建结构体 st
  • 【单片机竞赛:共阳数码管静态控制】

    51单片机 xff08 国信天长单片机实训平台 xff09 基于keli的常用程序之 共阳数码管一般静态控制程序设计 文章目录 51单片机 xff08 国信天长单片机实训平台 xff09 基于keli的常用程序之 共阳数码管一般静态控制程序
  • Linux - 搭建LDAP统一认证服务

    目的 通过以下步骤最终可使用ldap server中的用户登录一台ldap client xff0c 并允许有sudo权限 平常公司中所用的域账号以及服务器账号也许就是使用如下方式 xff0c 但是应该没有这么简陋 xff0c 只是借机了解
  • 每日练习------有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

    题目 有n个整数 xff0c 使其前面各数顺序向后移m个位置 xff0c 最后m个数变成最前面的m个数 解题关键 需要新建个数组使得原数组可以做到整体往后移动M位 思路 1 创建个有n个整数的数组 2 输出n个数字 存储到数组中 3 遍历原
  • FLTK-Rs

    终于还是到这一步了 xff0c 可视化 xff0c 我的超人 xff01 FLTK是一个跨平台的轻量级 gui 库 该库本身是用 C 43 43 98 编写的 xff0c 具有很高的可移植性 fltk crate 是用 Rust 编写的 x
  • STM32寄存器点灯失败

    include 34 stm32f10x h 34 int main void unsigned int 0x40021018 61 1 lt lt 3 打开时钟GPIOB unsigned int 0x40010C00 61 1 lt l
  • nested exception is java.sql.SQLException: com.mysql.cj.jdbc.Driver

    解决方案 在 pom xml 中 xff0c 加入 mysql 的 maven 引用 span class token tag span class token tag span class token punctuation lt spa
  • iOS-开辟子线程(NSThread、NSOperationQueue、GCD)

    本节主要总结一些开辟子线程的常用的几种方法 一 通过NSThread类开辟子线程 1 NSThread手动开启子线程 span class hljs comment 创建线程对象 span span class hljs built in
  • iOS -UICollectionView添加区头区尾

    项目中需求时三个区 xff0c 没个区展示不同的数据 xff0c 一格一格的 xff0c 所以tableView是不是适用的 xff0c 需要采用collectionView才能更好的展示 xff0c 那么怎么给它添加区头区尾呢 xff1f
  • miui 安装app闪退问题

    android版本 xff1a 7 0 MIUI版本 xff1a 8 2 手机 xff1a 小米5 之前老版本可以运行 xff0c 今天用AS的run xff0c 在安装apk时报application installation faile
  • 在x64上构建智能家居(home assistant) (一) Supervised版本安装

    我的上一篇文章 在嵌入式x86上构建我的智能家居 home assistant 中本来希望在一个低功耗的x86嵌入式上安装home assistant xff0c 但是因为一些限制没有成功 找到一个低功耗的笔记本 xff08 东芝的dyna
  • 安装YMFE/yapi API管理服务器(Ubuntu20)

    GitHub YMFE yapi YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台 Contribute to YMFE yapi develop