API网关-Apinto压缩包方式自动化安装配置教程
文章目录
- 前言
- 一、Apinto安装教程
- 1. 复制脚本
- 2. 增加执行权限
- 3. 执行脚本
- 4. Apinto命令
- 4.1 启动Apinto
- 4.2 停止Apinto
- 4.3 重启Apinto
- 4.4 查看Apinto版本信息
- 4.5 加入Apinto集群
- 4.6 离开Apinto集群
- 4.7 查看Apinto节点信息
- 5. 卸载Apinto
- 二、Apserver(Apinto Dashboard V3)安装教程
- 1. 安装条件
- 2. 安装mysql
- 3. 安装redis
- 4. 复制脚本
- 5. 增加执行权限
- 6. 执行脚本
- 7. 浏览器访问
- 8. Apserver命令
- 8.1 启动
- 8.2 停止
- 8.3 重启
- 9. 卸载Apserver
- 总结
前言
本教程将介绍如何安装和配置Apinto以及Apserver(Apinto Dashboard V3)。Apinto是一个开源的API管理工具,用于帮助团队设计、测试和发布API。而Apserver则是为了提供更便捷的可视化操作界面,方便用户管理和监控API。
一、Apinto安装教程
1. 复制脚本
首先,将以下脚本内容复制并保存为/tmp/install_apinto.sh文件。
#!/bin/bash# 安装版本
ad_version="0.15.12"
# 安装目录
ad_installDir="/opt/bigdata/apinto"install() {local version=$1local installDir=$2# 下载地址local downloadUrl="https://github.com/eolinker/apinto/releases/download/v${version}/apinto_v${version}_linux_amd64.tar.gz"if [ -z "$(command -v wget)" ]; thenyum -y install wgetif [ $? -eq 0 ]; thenecho "wget安装完成"elseecho "wget安装失败,请检查"exit 1fifiif [ ! -d "${installDir}" ]; thenmkdir -p "${installDir}"if [ $? -eq 0 ]; thenecho "安装目录${installDir}已创建"elseecho "请确保您有足够的权限来创建目录,请增加权限后再次执行"exit 1fifiif [ ! -f "/tmp/apinto_v${version}_linux_amd64.tar.gz" ] ; thenwget "$downloadUrl" -P /tmpif [ $? -eq 0 ]; thenecho "apinto_v${version}_linux_amd64.tar.gz下载成功"elseecho "apinto_v${version}_linux_amd64.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"echo "下载地址:$downloadUrl"exit 1fielseecho "/tmp/apinto_v${version}_linux_amd64.tar.gz文件已存在"fiif [ -d "${installDir}/apinto" ]; thenecho "${installDir}/apinto 已存在,正在删除..."rm -rf "${installDir}/apinto"fitar -zxvf "/tmp/apinto_v${version}_linux_amd64.tar.gz" -C "${installDir}"if [ $? -eq 0 ]; thenecho "apinto_v${version}_linux_amd64.tar.gz解压成功"elseecho "apinto_v${version}_linux_amd64.tar.gz解压失败,请查看异常信息后重试"exit 1ficd ${installDir}/apinto && ./install.sh install && apinto startif [ $? -eq 0 ]; thenecho "apinto 安装并启动成功"elseecho "apinto 安装失败,请查看异常信息后重试"exit 1fi
}install "$ad_version" "$ad_installDir"exit 0
2. 增加执行权限
在终端中执行以下命令,为脚本添加执行权限。
chmod a+x /tmp/install_apinto.sh
3. 执行脚本
执行以下命令,运行脚本开始下载、安装和配置Apinto。
/tmp/install_apinto.sh
请等待安装完成,如有异常会有提示。
成功如下图所示:

4. Apinto命令
4.1 启动Apinto
apinto start
4.2 停止Apinto
apinto stop
4.3 重启Apinto
apinto restart
4.4 查看Apinto版本信息
apinto version
4.5 加入Apinto集群
被加入的节点自动成为领导者,第一次被加入的节点始终是领导者。例如:从192.168.145.103节点执行apinto join --addr=192.168.145.105:9401,则192.168.145.105是集群的领导者。然后再从192.168.145.104执行apinto join --addr=192.168.145.103:9401,192.168.145.105依旧是领导者。
apinto join --addr=192.168.145.105:9401
4.6 离开Apinto集群
apinto leave
4.7 查看Apinto节点信息
apinto info
如下图所示,三个节点,一个领导者。

5. 卸载Apinto
删除对应文件和目录即可。
rm -rf /run/apinto
rm -rf /etc/apinto
rm -rf /var/lib/apinto
rm -rf /var/log/apinto
rm -rf /tmp/apinto
rm -rf /usr/sbin/apinto
rm -rf /opt/bigdata/apinto
二、Apserver(Apinto Dashboard V3)安装教程
1. 安装条件
- Mysql 5.7.x或以上版本
- 作用:存储控制台交互配置
- Redis 5.0-6.2.7版本,且Redis使用Cluster模式启动
- 作用:控制台缓存数据库、服务治理节点转发缓存数据库
- InfluxDB 2.x版本
- 作用:监控时序数据库,监控程序依赖数据库
2. 安装mysql
- mysql5.7.44自动化安装教程
- mysql5.7.37自动化安装教程
3. 安装redis
- redis6.2.7自动化安装教程
4. 复制脚本
首先,将以下脚本内容复制并保存为/tmp/install_apserver.sh文件。
#!/bin/bash# 安装版本
ad_version="3.3.2"
# 安装目录
ad_installDir="/opt/bigdata/apinto-dashboard"
# mysql设置
mysql_ip='192.168.145.104'
mysql_user='root'
mysql_pw='root'
# Redis扩展集群地址
redis_addr1='192.168.145.105:30001'
redis_addr2='192.168.145.105:30002'
redis_addr3='192.168.145.105:30003'
apserver_port='18080'configyml="port: ${apserver_port}
mysql:user_name: ${mysql_user}password: \"${mysql_pw}\"ip: ${mysql_ip}port: 3306db: apinto
error_log:dir: work/logs # 日志放置目录, 仅支持绝对路径, 不填则默认为执行程序上一层目录的work/logs. 若填写的值不为绝对路径,则以上一层目录为相对路径的根目录,比如填写 work/test/logs, 则目录为可执行程序所在目录的 ../work/test/logsfile_name: error.log # 错误日志文件名log_level: warning # 错误日志等级,可选:panic,fatal,error,warning,info,debug,trace 不填或者非法则为infolog_expire: 7d # 错误日志过期时间,默认单位为天,d|天,h|小时, 不合法配置默认为7dlog_period: day # 错误日志切割周期,仅支持day、hour
redis:user_name: \"\"password: \"\"addr:- ${redis_addr1}- ${redis_addr2}- ${redis_addr3}"install() {local version=$1local installDir=$2mysql -h ${mysql_ip} -P 3306 -u${mysql_user} -p${mysql_pw} -e "CREATE DATABASE IF NOT EXISTS apinto CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"if [ $? -eq 0 ]; thenecho "apinto 数据库创建成功"elseecho "apinto 数据库创建失败"exit 1fi# 下载地址local downloadUrl="https://github.com/eolinker/apinto-dashboard/releases/download/v${version}/apserver_v${version}_linux_amd64.tar.gz"if [ -z "$(command -v wget)" ]; thenyum -y install wgetif [ $? -eq 0 ]; thenecho "wget安装完成"elseecho "wget安装失败,请检查"exit 1fifiif [ ! -d "${installDir}" ]; thenmkdir -p "${installDir}"if [ $? -eq 0 ]; thenecho "安装目录${installDir}已创建"elseecho "请确保您有足够的权限来创建目录,请增加权限后再次执行"exit 1fifiif [ ! -f "/tmp/apserver_v${version}_linux_amd64.tar.gz" ] ; thenwget "$downloadUrl" -P /tmpif [ $? -eq 0 ]; thenecho "apserver_v${version}_linux_amd64.tar.gz下载成功"elseecho "apserver_v${version}_linux_amd64.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"echo "下载地址:$downloadUrl"exit 1fielseecho "/tmp/apserver_v${version}_linux_amd64.tar.gz文件已存在"fiif [ -d "${installDir}/apserver_v${version}" ]; thenecho "${installDir}/apserver_v${version} 已存在,正在删除..."rm -rf "${installDir}/apserver_v${version}"fitar -zxvf "/tmp/apserver_v${version}_linux_amd64.tar.gz" -C "${installDir}"if [ $? -eq 0 ]; thenecho "apserver_v${version}_linux_amd64.tar.gz解压成功"elseecho "apserver_v${version}_linux_amd64.tar.gz解压失败,请查看异常信息后重试"exit 1ficd ${installDir}/apserver_v${version}./install.shcd /usr/local/apserver/apserver_v${version}echo "$configyml" > config.ymlecho "apinto-dashboard 下载、安装、配置完成"cd /usr/local/apserver/apserver_v${version} && ./run.sh restartif [ $? -eq 0 ]; thenecho "apinto-dashboard 启动成功"echo "浏览器访问:$(ip addr | grep 'inet ' | awk '{print $2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+'):${apserver_port}"echo "账号:admin 密码:12345678"elseecho "apinto-dashboard 启动失败,请查看异常信息并解决后再次启动"echo "日志放置目录:/usr/local/apserver/apserver_v${version}/work/logs"fiecho "安装目录:/usr/local/apserver/apserver_v${version}"echo "启动apinto-dashboard:cd /usr/local/apserver/apserver_v${version} && ./run.sh start"echo "停止apinto-dashboard:cd /usr/local/apserver/apserver_v${version} && ./run.sh stop"echo "重启apinto-dashboard:cd /usr/local/apserver/apserver_v${version} && ./run.sh restart"}install "$ad_version" "$ad_installDir"exit 0
5. 增加执行权限
在终端中执行以下命令,为脚本添加执行权限。
chmod a+x /tmp/install_apserver.sh
6. 执行脚本
执行以下命令,运行脚本开始下载、安装和配置Apserver。
echo y | /tmp/install_apserver.sh
请等待安装完成,如有异常会有提示。
成功如下图所示:

7. 浏览器访问
浏览器输入输出信息中提示的网址进行访问,然后输入账号密码登录,如下图所示。


8. Apserver命令
8.1 启动
cd /usr/local/apserver/apserver_v3.3.2
./run.sh start
8.2 停止
cd /usr/local/apserver/apserver_v3.3.2
./run.sh stop
8.3 重启
cd /usr/local/apserver/apserver_v3.3.2
./run.sh restart
9. 卸载Apserver
删除对应文件和目录即可。
cd /usr/local/apserver/apserver_v3.3.2
./run.sh stop
rm -rf /usr/local/apserver
总结
通过这篇教程,我们学习了如何安装和配置apinto 和 apserver。首先,在第一部分中我们详细讲解了 apinto 的安装过程,并提供了相关命令行指令来启动/停止/重启它。接着,在第二部分中我们介绍了 apserver (Dashboard) 的要求以及安装过程,并提供了相应的命令行指令来管理它。
希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!
参考链接:
- https://help.apinto.com/docs/apinto/system/
- https://help.eolink.com/tutorial/Apinto/c-1406
相关文章:
API网关-Apinto压缩包方式自动化安装配置教程
文章目录 前言一、Apinto安装教程1. 复制脚本2. 增加执行权限3. 执行脚本4. Apinto命令4.1 启动Apinto4.2 停止Apinto4.3 重启Apinto4.4 查看Apinto版本信息4.5 加入Apinto集群4.6 离开Apinto集群4.7 查看Apinto节点信息 5. 卸载Apinto 二、Apserver(Apinto Dashboard V3)安装教…...
内网穿透natapp使用教程(Linux)
我的使用场景:在家访问学校服务器,由于不在一个局域网,所以需要使用内网穿透,我使用的是natapp。需要在有局域网的时候做好以下步骤。 (natapp官网:https://natapp.cn/) 1. 下载客户端 &#x…...
php函数 二
一 字符串包含 1.1 str_starts_with(string $haystack, string $needle) php8版本中新函数。 检查字符串是否以指定子串开头,区分大小写。返回布尔值。 $haystack待判断的字符串,$needle需要查询的内容。 function test1() {$str "Qwe asd zx…...
IDC机房交换机核心技术与应用指南
IDC机房交换机核心技术与应用指南 在这个快速发展的数字时代,数据中心作为信息技术的心脏,不仅承载着海量数据的处理、存储和传输,更是支撑着全球企业运营和互联网服务的关键基础设施。在众多构成数据中心的组件中,IDC机房交换…...
Compose | UI组件(五) | Button 按钮组件
文章目录 前言Button 是什么?Button的创建Button显示水平方向的UI IconButton是什么?IconButton是创建 FloatingActionButton是什么?FloatingActionButton创建 ExtendedFloatingActionButton是什么? 总结 前言 随着移动端的技术不…...
【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点
235. 二叉搜索树的最近公共祖先 class Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:# 递归if not root: return if root.val p.val: return pif root.val q.val: return qleft Noneright Noneif root.val > p.…...
YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译
摘要 涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显! DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。 …...
高中数学常识
一、大小关系 |x| > |sinx| 理由: 很明显,在圆内,弧长x>垂线sinx 3x、2x 、 1 2 \frac{1}{2} 21x 理由: log 1 2 _\frac{1}{2} 21x、log 2 _2 2x、 log 3 _3 3x 二、(xy)? 的求法 利用二项式定理 三、平…...
docker之部署青龙面板
青龙面板是一个用于管理和监控 Linux 服务器的工具,具有定时运行脚本任务的功能。在实际情况下也可以用于一些定期自动签到等任务脚本的运行。 本次记录下简单的安装与使用,请提前安装好docker,参考之前的文章。 一、安装部署 1、拉取镜像 # …...
Type-C平板接口协议芯片介绍,实现单C口充放电功能
在现代平板电脑中,Type-C接口已经成为了一个非常常见的接口类型。相比于传统的USB接口,Type-C接口具有更小的体积、更快的传输速度和更方便的插拔体验。但是,在使用Type-C接口的平板电脑上,如何实现单C口充电、放电和USB2.0数据传…...
系统架构演变
1.1系统架构的演变 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思…...
Oracle PL/SQL Programming 第2章:Creating and Running PL/SQL Code 读书笔记
总的目录和进度,请参见开始读 Oracle PL/SQL Programming 第6版 暂不考虑系统设计或单元测试之类的任务,所有 PL/SQL 程序员必须熟悉的基本操作任务包括: 浏览数据库创建和编辑 PL/SQL 源代码编译 PL/SQL 源代码,并更正编译器注…...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Swiper容器组件 滑块视图容器,提供子组件滑动轮播显示的能力。…...
『建议收藏』OpenAI官方出的Prompt提示词教程中文版来了!
一些结论 六大策略: 写清晰的指令 提供参考文本 将复杂任务分解为更简单的子任务 给模型时间“思考” 使用外部工具 系统性测试变化 提高结果质量的六大策略 写清晰的指令 这些模型无法读懂你的想法。如果输出过长,要求简短回复;如果输出过于简单…...
牛刀小试 - C++ 推箱子小游戏
参考文档 C笔记:推箱子小游戏 copy函数 memcpy()函数用法(可复制数组) 使用memcpy踩出来的坑,值得注意 完整代码 /********************************************************************* 程序名:推箱子小游戏 说明&#x…...
手机视频压缩怎么压缩?一键瘦身~
现在手机已经成为我们日常生活中必不可少的工具,而在手机的应用领域中,文件的传输和存储是一个非常重要的问题。很多用户都会遇到这样一个问题,那就是在手机上存储的文件太多太大,导致手机存储空间不足,那么怎么在手机…...
目标主力能源:华为智能光伏的时代指南针
让新能源成为人类主要的能源来源,是实现“双碳目标”的核心方案。而光伏能源则是目前新能源体系中的主要选择之一。以光伏为核心构建新型电力系统,让光伏能源成为主力能源值得关注和期待。 过去几年,光伏能源极速发展。但如何百尺竿头更进一步…...
每日一题 力扣2846 边权重均等查询
2846. 边权重均等查询 题目描述: 现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重…...
【Docker】Docker学习⑨ - 单机编排之Docker Compose
【Docker】Docker学习⑨ - 单机编排之Docker Compose 一、Docker简介二、Docker安装及基础命令介绍三、Docker镜像管理四、Docker镜像与制作五、Docker数据管理六、网络部分七、Docker仓库之单机Dokcer Registry八、Docker仓库之分布式Harbor九、单机编排之Docker Compose1 基础…...
ES6笔记-symbol
ES6 symbol 是什么 ES5的对象属性名是字符串,这容易造成属性名的冲突。symbol是一种机制,保证每个属性的名字都是独一无二的。这样就从根本上防止属性名冲突。 它是一种原始数据类型Symbol,表示独一无二的值。它属于javaScript语言的原生数据类型之一。…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
若依项目部署--传统架构--未完待续
若依项目介绍 项目源码获取 #Git工具下载 dnf -y install git #若依项目获取 git clone https://gitee.com/y_project/RuoYi-Vue.git项目背景 随着企业信息化需求的增加,传统开发模式存在效率低,重复劳动多等问题。若依项目通过整合主流技术框架&…...
【2D与3D SLAM中的扫描匹配算法全面解析】
引言 扫描匹配(Scan Matching)是同步定位与地图构建(SLAM)系统中的核心组件,它通过对齐连续的传感器观测数据来估计机器人的运动。本文将深入探讨2D和3D SLAM中的各种扫描匹配算法,包括数学原理、实现细节以及实际应用中的性能对比,特别关注…...
