Yapi接口管理平台Centos7部署

文章目录

  • 1.环境准备
    • 1.1 关闭透明大页THP
    • 1.2 设置最大文件打开数最大进程数
  • 2.Nodejs安装
  • 3.安装Mongodb
    • 3.1 下载安装
    • 3.2 配置
    • 3.3 配置环境变量
    • 3.4 启动
    • 3.5 关闭
  • 4.安装YAPI
    • 4.1 离线安装
    • 4.2 页面安装(本次采用)
    • 4.3 访问

1.环境准备

1.1 关闭透明大页THP

# 查看透明大页情况:
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

# 关闭透明大页:vim /etc/rc.d/rc.local,添加如下配置:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
        echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
        echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

# 保存退出,然后赋予rc.local文件执行权限:chmod +x /etc/rc.d/rc.local
# 重启服务器才生效:reboot

1.2 设置最大文件打开数最大进程数

vim /etc/security/limits.conf
* soft nofile 64000
* hard nofile 64000
* soft nproc 32000
* hard nproc 32000

2.Nodejs安装

# 1.下载Nodejs安装包
wget https://nodejs.org/download/release/v12.18.3/node-v12.18.3-linux-x64.tar.gz

# 注意:此处版本不能太高,如果版本过高会出现各种各样问题
# 官网网站推荐:https://hellosean1025.github.io/yapi/devops/index.html
# nodejs(7.6+)
# mongodb(2.6+)

# 2.解压
tar -zxvf node-v12.18.3-linux-x64.tar.gz -C /opt/software/yapi/

# 3.修改所属用户及用户组
chown -R root:root /opt/software/yapi/node-v12.18.3-linux-x64

# 4.设置环境变量
vim /etc/profile
export NODEJS_HOME=/opt/software/yapi/node-v12.18.3-linux-x64
export PATH=$PATH:${NODEJS_HOME}/bin
source /etc/profile

# 4.创建软链接
ln -s /opt/software/yapi/node-v12.18.3-linux-x64/bin/node /usr/local/bin
ln -s /opt/software/yapi/node-v12.18.3-linux-x64/bin/npm /usr/local/bin

# 5.检查
[root@jenkins18 ~]# node -v
v12.18.3
[root@jenkins18 ~]# npm -v
6.14.6

# 6.设置源
# 安装nrm
[root@jenkins18 ~]# npm install -g nrm
/opt/software/yapi/node-v12.18.3-linux-x64/bin/nrm -> /opt/software/yapi/node-v12.18.3-linux-x64/lib/node_modules/nrm/cli.js
+ nrm@1.2.6
updated 1 package in 13.262s
# 查看源
[root@jenkins18 ~]# nrm ls
  npm ---------- https://registry.npmjs.org/
  yarn --------- https://registry.yarnpkg.com/
  tencent ------ https://mirrors.cloud.tencent.com/npm/
  cnpm --------- https://r.cnpmjs.org/
  taobao ------- https://registry.npmmirror.com/
  npmMirror ---- https://skimdb.npmjs.com/registry/

[root@jenkins18 ~]# nrm use taobao
 SUCCESS  The registry has been changed to 'taobao'.

3.安装Mongodb

3.1 下载安装

# 1.下载:www.mongodb.com
https://www.mongodb.com/try/download/community-kubernetes-operator

# 选择 Products > MongoDB Community Edition 进入社区版,下载 Linux 版对应的安装包
# 注意,6.0之后的版本改动有点大,yapi并未友好支持,需选择5.0或之前的版本。(主要是6.0之后,mongodb部署包不包含mongo客户端)
# 点击 “Download” 下载
mongodb-linux-x86_64-rhel70-5.0.23.tgz

在这里插入图片描述

# 2.解压
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.23.tgz -C /opt/software/yapi/

# 3.重命名
cd /opt/software/yapi/
mv mongodb-linux-x86_64-rhel70-5.0.23 mongodb-5.0.23

# 4.进入mongodb-5.0.23目录
# 创建与 bin 目录同级的 data\db 、log 和 conf 目录用于存放数据和日志
cd mongodb-5.0.23/
# 创建 data/db 文件夹存放数据
mkdir -p data/db

# 创建 log 文件夹存放日志
mkdir log
# 在 log 目录下创建 mongodb.log 存放日志
touch log/mongodb.log

# 创建 conf 文件夹存放配置文件
mkdir conf
# 在 conf 目录下创建 mongodb.conf 文件
touch conf/mongodb.conf

3.2 配置

# 1.添加 conf/mongodb.conf 配置
systemLog:
  # MongoDB发送所有日志输出的目标指定为文件
  # The path of the log file to which mongod or mongos should send all diagnostic logging information
  destination: file
  # mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
  path: "/opt/software/yapi/mongodb-5.0.23/log/mongod.log"
  # 当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
  logAppend: true
storage:
  # mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
  # The directory where the mongod instance stores its data.Default Value is "/data/db".
  dbPath: "/opt/software/yapi/mongodb-5.0.23/data/db"
  journal:
    #启用或禁用持久性日志以确保数据文件保持有效和可恢复。
    enabled: true
processManagement:
  #启用在后台运行mongos或mongod进程的守护进程模式。
  fork: true
net:
  # 服务实例绑定的IP,默认是localhost(192.168.222.129:局域网IP)
  #bindIp: localhost,192.168.120.18
  bindIp: 0.0.0.0
  # bindIp
  #绑定的端口,默认是27017
  port: 27017

3.3 配置环境变量

vim /etc/profile
export MONGO_HOME=/opt/software/yapi/mongodb-5.0.23
export PATH=$PATH:${MONGO_HOME}/bin
source /etc/profile

3.4 启动

[root@jenkins18 ~]# mongod -f /opt/software/yapi/mongodb-5.0.23/conf/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 8734
child process started successfully, parent exiting
[root@jenkins18 ~]# ps aux | grep mongo
root       8734  2.9  1.4 1579824 75704 ?       Sl   14:42   0:01 mongod -f /opt/software/yapi/mongodb-5.0.23/conf/mongodb.conf
root       8800  0.0  0.0 112808   968 pts/0    S+   14:43   0:00 grep --color=auto mongo

3.5 关闭

方式1:正常关闭:
# 客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017# 关闭服务
use admin
db.shutdownServer()

方式二:快速关闭:
#通过进程编号关闭节点
kill -2 pid

4.安装YAPI

4.1 离线安装

# 1.下载:http://ued.qunar.com/yapi/devops/index.html
# 从GitHub下载最新包:
https://gh.api.99988866.xyz/https://github.com/YMFE/yapi/archive/refs/tags/v1.12.0.tar.gz

# 2.解压
tar -zxvf yapi-1.12.0.tar.gz -C /opt/yapi/
cd /opt/yapi/
mv yapi-1.12.0 vendors
cp vendors/config_example.json ./config.json

# 3.安装启动
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候

# 部署方式:后台运行
# 直接node启动,在控制台上运行,关闭控制台服务将自动退出,想要服务在后台运行,可以安装forever实现后台运行
cd /opt/yapi/vendors/server
# 安装forever
npm install forever -g
# 添加forever到环境变量
ln -s /opt/software/yapi/node-v12.18.3-linux-x64/lib/node_modules/forever/bin/forever /usr/local/bin
# 在yapi安装目录下/opt/yapi/vendors/server目录下启动应用
[root@jenkins18 server]# forever start app.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: app.js

# 关闭应用
[root@jenkins18 server]# forever stop app.js
info:    Forever stopped process:
    uid  command                                             script forever pid   id logfile                 uptime
[0] tUD7 /opt/software/yapi/node-v12.18.3-linux-x64/bin/node app.js 18927   18934    /root/.forever/tUD7.log 0:0:0:36.07

# 重启所有应用
[root@jenkins18 server]# forever restartall

4.2 页面安装(本次采用)

# 可视化部署
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

[root@jenkins18 ~]# npm install -g 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
/opt/software/yapi/node-v12.18.3-linux-x64/bin/yapi -> /opt/software/yapi/node-v12.18.3-linux-x64/lib/node_modules/yapi-cli/bin/yapi-cli
/opt/software/yapi/node-v12.18.3-linux-x64/bin/yapi-cli -> /opt/software/yapi/node-v12.18.3-linux-x64/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
added 268 packages from 122 contributors in 59.095s

[root@jenkins18 ~]# yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

在这里插入图片描述
在这里插入图片描述

初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问

在这里插入图片描述
在这里插入图片描述

4.3 访问

# 通过浏览器打开:http://ip:3000进入安装界面
http://192.168.120.18:3000/login

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/277646.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小米SU7正式亮相,媒介盒子多家媒体报道

哈喽大家好啊,今天 媒介盒子来和大家分享媒体推广的干货知识,本篇分享的主要内容是新车上市,小米SU7的营销逻辑 在12月28日下午的发布会上,小米C级轿车SU7正式亮相,SU7的发布,也意味着小米智能科技“人车家…

【Shell编程练习】通过位置变量创建 Linux 系统账户及密码

系列文章目录 输出Hello World 系列文章目录位置变量代码实现运行结果 位置变量 位置变量将以数字方式对变量进行命名,可将命令行参数的值存储到脚本中。要从命令行、函数或脚本执行等处传递参数时,就需要在 Shell 脚本中使用位置参数变量。下表为常用…

2020年认证杯SPSSPRO杯数学建模A题(第一阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现: 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮,在平地上可以被水平推动或旋转,但不会歪斜),这样的设备称为一个麦克风树。不同的麦…

LaTeX 符合 GB/T 7714-2015 标准的 biblatex 参考文献样式

需求:用LaTeX写学位论文,想得到符合 GB/T 7714-2015 标准的 biblatex 参考文献样式(按照GB/T7714-2015的格式要求,英文作者名的字母全部大写)。 命令: %在导言区加载宏包和文献文件,注意gb7714…

一文详解Cookie以及Selenium自动获取Cookie

前言 以后数据获取途径以及数据资产绝对会是未来核心要素生产工具和资源之一,每个大模型都离不开更加精细化数据的二次喂养训练。不过现在来看收集大量数据的方法还是有很多途径的,有些垂直领域的专业数据是很难获取得到的,靠人力去搜寻相当…

深眸科技创新工业AI视觉系统,与机械臂协同工作实现视觉引导功能

工业AI视觉系统:工业AI视觉系统能够在工业环境中进行缺陷检测、视觉分拣、物流供包、拆码垛、工业上料等应用。 随着国内工业企业不断进步和发展,传统机器视觉无法满足企业对复杂操作流程的需求,多数制造企业对于机器视觉系统的需求增长。而…

在SpringBoot中自定义指标并使用Prometheus监控报警

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享 在10 分钟教你使用Prometheus监控Spring Boot工程中介绍了如何使用Prometheus监控Spring Boot提供的默认指标,这篇介绍如何自定义业务指标,并使用Prometheus进行…

Fedora操作系统有哪些优势

Fedora是一种基于Linux内核的开源操作系统,被广泛的认为是一款先进的、功能丰富的操作系统。它有许多的优势,从最新的软件版本到社区驱动的开发,以及安全性和稳定性等方面。下面我简单的介绍有哪些优势。 最新的软件版本 Fedora以当前最新的…

内网渗透之Vulnstack4靶场的全方位打法

靶场考察点 MS14-068漏洞 MS14-068是一个著名的Windows Kerberos安全漏洞,允许攻击者篡改Kerberos票据,从而获取非法提权。这个漏洞特别影响Windows域控制器,能让攻击者伪造Kerberos票据,获取域内几乎任意账户的权限&#xff0c…

鸿蒙系列--组件介绍之容器组件

一、Badge 描述:给其他组件添加标记 子组件:支持单个子组件 1.创建数字标记 Badge(value: {count: number, position?: BadgePosition, maxCount?: number, style: BadgeStyle}) 2.创建字符串标记 Badge(value: {value: string, position?: Badge…

关于Python里xlwings库对Excel表格的操作(二十三)

这篇小笔记主要记录如何【用“.number_format ”函数设置单元格的文本各种属性】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; &#xff0…

批量抠图软件哪个好用?推荐这三款抠图工具给你

在数字图像处理的世界里,抠图是个不可或缺的环节。对于那些经常需要从复杂背景中提取主体的设计师和摄影师来说,抠图技巧无疑是一项宝贵的职业技能。然而,当面对大量的抠图需求时,手动处理不仅耗时,而且效率低下。因此…

Junit在多线程测试时的坑

Junit单元测试主线程退出,子线程也会退出 Testpublic void test() throws InterruptedException {Thread t1 new Thread(() -> {try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(Thread.…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

在Java中使用选择排序将数组中的一列元素排列出来

思想 选择排序:特点有简单直观、从大到小、每趟从待选择的元素中选出最小或最大的一个元素,顺序放在已经排好的序列的最后,直到全部待排序数据元素排完。 代码 public class SelectSort {public static int[] orderby(int[] nums,String …

C++标准模板库(STL)

标准模板库(STL)是一组C模板类,提供常见的编程数据结构和函数,如列表、堆栈、数组等。它是一个容器类、算法和迭代器的库。它是一个通用库,因此,它的组件是参数化的。模板类的相关知识是使用STL的先决条件。…

C#下将点云数据保存为PLY格式

目前没有找到C#下将点云数据保存为PLY格式的库,查看了一下PLY格式,所以自己写了个方法实现点云数据保存PLY格式 public static string SavePointCloudToPLY(string No, float[] x, float[] y, float[] z){ string result "";Task.Run(() >…

I.MX6ULL_Linux_驱动篇(51)linux 音频驱动

音频是我们最常用到的功能,音频也是 linux 和安卓的重点应用场合。 I.MX6ULL 带有 SAI接口,正点原子的 I.MX6ULLALPHA 开发板通过此接口外接了一个 WM8960 音频 DAC 芯片,本章我们就来学习一下如何使能 WM8960 驱动,并且通过 WM89…

【MCAL】TC397+EB-tresos之MCU配置实战 - 芯片时钟

本篇文章介绍了在TC397平台使用EB-treso对MCU驱动模块进行配置的实战过程,主要介绍了后续基本每个外设模块都要涉及的芯片时钟部分,帮助读者了解TC397芯片的时钟树结构,在后续计算配置不同外设模块诸如通信速率,定时器周期等&…

自定义注解结合Hutool对SpringBoot接口返回数据进行脱敏

首先说到脱敏问题,我相信在座的很多人都需要处理这样的场景,比如前端页面显示的身份证号、地址等敏感信息都需要脱敏处理,而hutool就有这样的一个工具来辅助我们完成对某些字段属性信息的脱敏,hutool没有现成的实现方式,只是借助这个工具帮助我们来具体实现 前言 我们在…