Yapi接口管理平台Centos7部署

news2025/1/13 0:21:11

文章目录

  • 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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言:输出范围内的质数|练习题

一、题目 输入一个数n,输出n之内的所有质数 如图: 二、思路分析 1、设置一个数num,从2开始,不断作1操作,作为被除数 2、用一个不断自1的数,除以num,如果num不能被整除,则为质数 3、例…

Google Ad帐号被封?这几个关键点看好

海外广告投放工作中,账号是非常重要的环节。与在Facebook上运行广告相比,运行Google Ads在代理选择方面通常没有那么严格,因为 Google 对 IP 使用并不那么严格。但是,这并不意味着您可以不加考虑地使用任何代理IP。在本文中&#…

MySQL事务、四大原则、执行步骤、四种隔离级别、锁、脏读、脏写等

MySQL事务 MySQL事务1.什么是事务?2.事务的四大原则3.事务执行的步骤4、事务的隔离性5、MySQL中的锁 MySQL事务 模拟一个转账业务: 上图中的sql语句: update from table set money mongey - 100 where name A; update from table set mone…

【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序

前言:生活中我们总是会碰到各种各样的排序,今天我们就对部分常用的排序进行总结和学习,今天的内容还是相对比较简单的一部分,各位一起加油哦! 💖 博主CSDN主页:卫卫卫的个人主页 💞 &#x1f44…

Python经典游戏 唤醒你童年记忆

这些游戏你玩过几个&#xff1f; 1.贪吃蛇2.吃豆人3.加农炮4.四子棋5. Fly Bird<font color #f3704ab>6.记忆&#xff1a;数字对拼图游戏&#xff08;欢迎挑战&#xff01;用时&#xff1a;2min&#xff09;7.乒乓球8.上课划水必备-井字游戏&#xff08;我敢说100%的人都…

verilog rs232串口模块

前面发了个发送模块&#xff0c;这次补齐&#xff0c;完整。 串口计数器&#xff0c;波特率适配 uart_clk.v module uart_clk(input wire clk,input wire rst_n,input wire tx_clk_en,input wire rx_clk_en,input wire[1:0] baud_sel,output wire tx_clk,output wire rx_clk )…

spring、springmvc、springboot、springcloud简介

spring简介 spring是什么&#xff1f; spring: 春天spring: 轻量级的控制反转和面向切面编程的框架 历史 2002年&#xff0c;首次推出spring雏形&#xff0c;interface 21框架2004年&#xff0c;发布1.0版本Rod Johnson: 创始人&#xff0c;悉尼大学&#xff0c;音乐学博士…

什么是 NLP (自然语言处理)

NLP&#xff08;自然语言处理&#xff09;到底是做什么&#xff1f; NLP 的全称是 Natural Language Processing&#xff0c;翻译成中文称作&#xff1a;自然语言处理。它是计算机和人工智能的一个重要领域。顾名思义&#xff0c;该领域研究如何处理自然语言。 自然语言就是我…

企业如何购买腾讯云服务器?(详细指南)

腾讯云服务器购买流程直接在官方秒杀活动上购买比较划算&#xff0c;在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵&#xff0c;但是自定义购买云服务器CPU内存带宽配置选择范围广&#xff0c;活动上购买只能选择固定的活动机&#xff0c;选择范围窄&#xff0c;但是…

如何本地部署Nextcloud结合cpolar搭建专属私有云盘远程访问(内网穿透)

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

前端基本性能指标及lighthouse使用

文章目录 1、基本指标介绍2、Performace分析2.1 performance属性2.2 使用performace计算2.3 Resource Timing API2.4 不重复的耗时时段区分2.5 其他组合分析2.6 JS 总加载耗时2.7 CSS 总加载耗时 3、lighthouse基本使用3.1 使用Chrome插件lighthouse3.2 使用Chrome浏览器开发者…

SQL server使用profiler工具跟踪语句

1.打开SQL server工具&#xff0c;在工具点击SQL server Profiler : 2.流程&#xff1a;暂停——清空———点击接口——启用&#xff1a; 3.找到对应的sql语句&#xff0c;复制到查询界面&#xff0c;开始查询数据&#xff1a;

QML —— ProgressBar示例(附完整源码)

示例 - 效果 实例 - 源码 import QtQuick 2.12 import QtQuick.Window 2.12import QtQuick.Layouts 1.12 import QtQuick.Controls 2.5Window {id: rootIdvisible: truewidth: 640height: 480title: qsTr("Hello World")Column{spacing: 40anchors.centerIn: parent…

UG NX二次开发(C++)-通过两点和高度创建长方体

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、采用UFun函数来创建长方体3、采用NXOpen方法实现两点和高度创建长方体4、验证1、前言 在UG NX二次开发时,我们通常会采用ufun函数来完成功能的开发,但是有些功能在ufun函数中不能找到…

电子握力器改造

toy_hand_game 介绍 消耗体力玩具&#xff0c;使用握力器(Grip Strengthener)控制舵机旋转。 开始设想是控制丝杆电机滑动&#xff0c;两套设备就可以控制两个丝杆电机进行“模拟拔河”&#xff0c;后续发现硬件设计错误&#xff0c;ULN2003不能控制两相四线电机&#xff0c;…

大数据Doris(四十三):创建物化视图

文章目录 创建物化视图 一、首先你需要有一个Base表

1933年地级市民国铁路开通数据(地级市工具变量)

1933年地级市民国铁路开通数据&#xff08;地级市工具变量&#xff09; 1、时间&#xff1a;1933年 2、指标&#xff1a;是否开通铁路 3、来源&#xff1a;来源于《中国铁道便览》和《中国铁道便览》 4、方法说明&#xff1a;参考田坤&#xff08;2023&#xff09;参考章元…

绝缘电阻测试仪的读数方法有哪些?

绝缘电阻测试仪主要用于测量设备的绝缘电阻&#xff0c;电力工人经常使用它来测试电力设备&#xff0c;从来没有维护过电力设备的正常运行状态。在测试电力设备时&#xff0c;往往需要读取测试结果。绝缘电阻测试仪常用的读数方法有哪些&#xff1f;我一起来盘点一下。 常用的绝…

15 Sequence-Driver-Sequencer communication in UVM

我们分别讨论了sequece_item、sequence、sequencer和driver。在本节中&#xff0c;我们将讨论他们如何相互talk&#xff0c;sequencer如何给driver提供从sequence里的sequence item。在开始阅读本节之前&#xff0c;请确保您了解sequencer和driver中使用的所有方法。&#xff0…

idea Spring Boot项目使用JPA创建与数据库链接

1.pom.xml文件中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>…