百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

ahcoder 2025-06-10 12:23 2 浏览

前言

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

今天,本文将介绍一款开源的统一管理操作平台 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 项目为开发者和运维人员提供了极大的便利,简化了管理和操作多种服务器和数据库的复杂性。

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

相关推荐

linux服务器--PVE(一)简介及安装(pve安装ifupdown2)

1.PVE(ProxmoxVirtualEnvironment)简介ProxmoxVirtualEnvironment基于debian,是一个完整的、开源的企业虚拟化服务器管理平台。它在一个平...

手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?

你在Linux服务器上搭建Sentinel环境时,是不是也遇到过各种报错,要么是启动失败,要么是配置后无法正常访问控制台?看着同事顺利搭建好,自己却一头雾水,别提多着急了!其实,很多互联网大厂...

Linux高性能服务器技术总结(linux高性能服务器编程怎么样)

1服务器简介服务器是提供计算服务的设备,由于服务器需要响应用户请求,因此在处理能力、稳定性、安全性、可扩展性、可管理性等方面提出了较高要求。随着虚拟化技术的进步,云服务器(ECS)已经快速的在...

从 0 到 1:使用 Ansible 自动化运维 Linux 服务器全流程

Ansible是一款强大的IT自动化工具,广泛用于服务器配置管理、软件部署和任务自动化。本文将带你从零开始,学习如何使用Ansible对Linux服务器进行自动化运维,涵盖Ansibl...

诡异!Win11 “此电脑” 莫名现 Linux 图标,啥情况?

我这电脑出了个怪事儿,“此电脑”下面莫名其妙多了个Linux的图标,可我压根儿就没装过Linux系统啊!琢磨了一下,估计是系统可选功能里那个“适用于Linux的Windows子系统”插件搞的鬼。实例系...

Linux基础运维篇:Linux 终端与 Shell 基础(第006课)

一、啥是终端?先搞懂「人和电脑对话的窗口」你可以把终端(Terminal)理解成一个「文字版的电脑操作台」。在Windows里,类似「命令提示符」或PowerShell;在Linux里,...

2025罗技大师系列智「简」大赛-罗技大师系列-MX KEYS S键盘评测

在2025罗技大师系列智「简」大赛中,MXKEYSS键盘凭借其卓越的设计与智能化体验,成为众多创作者的理想之选。本篇文章将深入评测这款键盘的核心功能、使用体验及创新亮点,帮助你了解它如何提升...

Linux编辑命令vim(linux使用vim编辑文件)

1、vi编辑器简介vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:#定义别名...

全选是ctrl加什么?全选的快捷键是什么介绍

如何高效使用「全选」快捷键(Ctrl+A/A)提升工作效率在日常电脑操作中,"全选"是最基础却至关重要的功能之一。无论您是文字工作者、程序员还是普通用户,掌握全选快捷键都能极大提升操作...

Linux命令大全(linux命令大全书)

个人博客:https://chunyu.work/文章较长,可以收藏备用常用快捷键(1)ctrl+c:停止进程(2)ctrl+l:清屏(3)善于用tab键(4)上下键:查找执行过的命令文件目录类(...

Xshell是做什么用的?Xshell使用教程分享

Xshell是一款功能强大的终端模拟器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势,作为...

Java 开发者线上问题排查常用的 15 个 Linux 命令

作为Java开发者,线上环境的问题排查是日常工作的重要组成部分。熟练掌握Linux命令能大幅提升排查效率,快速定位进程异常、日志错误、性能瓶颈等核心问题。本文结合Java应用特点,整理1...

Linux的常用命令就是记不住,怎么办?

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

别再乱学 Linux 了!这 5 个核心技巧,让你效率飙升 10 倍!

在Linux学习的漫漫长路上,不少人犹如在黑暗中摸索的行者,四处碰壁,学习效果却不尽如人意。你是不是也曾在海量的Linux知识面前迷失方向,感觉自己投入了大量时间,却收效甚微?其实,掌握Li...

Linux终端神器Terminator时隔1年回归,2.1.5新版发布

IT之家5月23日消息,科技媒体linuxiac今天(5月23日)发布博文,报道称Terminator在沉寂一年后,最新发布了2.1.5版本,在分割终端窗格时支持克隆SSH...