Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!

前言


在现代软件开发和运维中,管理和操作各种不同类型的服务器和数据库是一个复杂而又重要的任务。虽然有一些现成使用到的服务器管理工具和数据库管理应用,比如:XShellTermiusNavicat等。但是它们都是分开使用的。


今天,本文将介绍一款开源的统一管理操作平台 Mayfly-Go,它提供了Web版Linux终端、文件操作、脚本执行、进程管理以及对多种数据库和缓存的统一管理和操作,极大地简化了运维管理工作。


Mayfly-Go 项目介绍


mayfly-go 是一款web版的 Linux、数据库、redis、mongo 统一管理操作平台。

通过它的名称也可以看出来,它的后端采用了Go语言进行开发,保证了它的性能。


Gitee:https://gitee.com/dromara/mayfly-go


GitHub:https://github.com/dromara/mayfly-go


1、作者开发该项目背景?

1)方便公司 统一管理 且更加安全高效地维护管理以及操作相关资源信息,开发测试人员可无需查阅文档或咨询前辈索要ip账号密码等资源信息。

2)简化开发人员的 多客户端安装烦恼(正常来说开发人员或运维人员需要安装Xshell、Navicat、Redis Desktop等软件进行对应的资源数据操作)。


2、项目里程碑介绍

mayfly-go 从开源至今不到半年,但却已经迭代了30+大中小版本,目前最新版本为1.6.1。作者也一直在更新迭代维护中,最近的更新在两周前,目前Gitee Star 1.6K,GitHub Star 1.4K。


3、功能特性

  •  Linux:ssh终端(终端操作记录回放),文件查看(可根据常见后缀名高亮显示关键词等)、修改、上传、下载、删除等,脚本管理执行,计划任务、进程操作,运行状态查看等(可当做堡垒机使用)。
  • DBMS(目前支持mysql、postgres、高斯、达梦):可视化数据增删改查,sql语句提示,表信息、索引信息、建表语句查看,建表等(类似mini版navicat)。
  • Redis(单机、哨兵、集群):增删改查redis数据,redis基本信息查看,如版本,内存,cpu等使用情况、集群信息节点查看。
  • Mongo:增删改查mongo文档数据,数据库、集合状态查看,新建删除集合等。
  • 支持ssh tunnel访问:linux机器、数据库、redis、mongo都支持ssh隧道访问操作。
  • 系统管理:同时拥有完善的账号、角色、资源权限控制、系统配置(oauth2、ldap登录、登录验证码、双因素校验、水印等),也可基于该项目进行二次开发作为后台管理系统。


项目部署


1、二进制部署


1)前往项目Releases下载对应版本安装包

2)数据源配置,支持mysql与sqlite

  • mysql: 将mayfly-go.sql导入对应数据库即可。
  • sqlite: 将初始化的mayfly-go.sqlite数据文件放到自定义位置(默认在当前可执行文件同级目录下),并将config.yml中mysql相关配置注释,将sqlite数据文件路径配置至config.yml的sqlite.path即可。


3)将对应的安装包上传至指定平台解押即可(解压后内容如下图所示),随后根据readme内容操作配置后执行startup.sh脚本即可启动运行(若已启动,则为重启),执行shutdown.sh停止运行。(注:需要将config.yml.example文件的后缀.example去除,改为config.yml)


2、docker部署


docker部署需要先执行项目依赖的数据库脚本(mayfly-go.sql(mysql))或将mayfly-go.sqlite(sqlite)数据文件放到自定义位置并进行挂载访问。


1)拉取mayfly-go镜像

docker pull ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.6.1

2)通过-e容器环境变量设置启动依赖相关参数

# 通过-e容器环境变量设置启动依赖相关参数
docker run -d --name mayfly-go -p 18888:18888 \
    -e MAYFLY_JWT_KEY=53445c86e8189b6c646ed7d0d319015144423e72 \
    -e MAYFLY_AES_KEY=7bc5418eefd50402ef39107274891fbe \
    -e MAYFLY_DB_HOST=localhost:3306 \
    -e MAYFLY_DB_USER=root \
    -e MAYFLY_DB_PASS=123456 \
    -e MAYFLY_DB_NAME=mayfly-go \
    -v /usr/local/mayfly-go/mayfly-go.log:/mayfly/mayfly-go.log \
    -v /usr/local/mayfly-go/rec:/mayfly/rec  ccr.ccs.tencentyun.com/mayfly/mayfly-go:{version(替换为对应版本号)}

具体操作可以详见项目文档:https://www.yuque.com/may-fly/mayfly-go


演示环境Demo体验


体验地址:http://go.mayfly.run


1、首页展示-功能类别


2、机器操作-ssh终端


3、数据库操作-增删改查


4、Redis操作


5、Mongo操作


6、系统管理-资源管理


总结


mayfly-go 项目为开发者和运维人员提供了极大的便利,简化了管理和操作多种服务器和数据库的复杂性。


总的来说,是一款不错的资源管理平台。有兴趣的朋友们可以体验试试。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
23天前
|
安全 Linux
Linux通配符及其在文件搜索和管理中的应用
Linux通配符及其在文件搜索和管理中的应用
|
23天前
|
SQL Linux 数据库
|
1月前
|
Java Linux
Linux上管理不同版本的 JDK
Linux上管理不同版本的 JDK
27 0
|
12天前
|
SQL 关系型数据库 MySQL
|
15天前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
22天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
147 1
|
24天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
166 3
|
24天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
136 1
|
25天前
|
监控 安全 Unix
探索Linux命令repo-rss:管理仓库更新的新视角
`repo-rss`是一个设想中的Linux工具,用于通过RSS订阅跟踪软件仓库更新。它能订阅仓库、检测更新、生成RSS feed并发送通知。主要特点包括实时性、灵活性、自动化和可扩展性。用户可定制订阅、时间间隔及输出格式。示例用法包括订阅Debian仓库、将更新输出为RSS文件或发送至邮箱。使用时需注意安全、资源消耗和隐私,最佳实践包括定期评估、自动化处理、多源订阅和备份。此工具展示了RSS在软件管理中的创新应用。
|
1月前
|
SQL 缓存 PHP
PHP 与数据库优化:提升Web应用性能的关键
在Web开发中,PHP作为一种流行的服务器端脚本语言,与数据库密切相关。本文探讨了如何通过PHP与数据库优化来提升Web应用的性能和响应速度。从数据库查询优化、索引的设计到PHP代码编写的最佳实践,我们将深入探讨每个方面如何影响应用的效率和用户体验。