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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
简介: 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
相关文章
|
2月前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
69 4
|
3天前
|
缓存 安全 JavaScript
PHP在Web开发中的平台优势与未来趋势###
【10月更文挑战第21天】 PHP,Hypertext Preprocessor,凭借其灵活性、广泛应用和强大社区支持,已成为Web开发的常青树。本文探讨了PHP的发展历程、核心优势、最佳实践案例及面临的挑战与机遇,揭示其在现代Web开发中不可替代的角色,以及如何适应未来技术趋势,持续引领Web创新。 ###
18 2
|
9天前
|
设计模式 PHP 开发者
PHP在Web开发中的平台优势与未来展望###
【10月更文挑战第17天】 本文探讨了PHP作为服务器端脚本语言在Web开发领域的持久魅力与独特优势,从其易于学习、成本效益高、强大社区支持到灵活的框架生态,展现了PHP为何能在全球网站开发中占据重要地位。同时,文章也展望了PHP在未来技术趋势下,如云计算、微服务架构中的发展潜力,强调持续创新对于保持其竞争力的重要性。 ###
19 2
|
2月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
29 1
|
3月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
3月前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
3月前
|
监控 Linux 应用服务中间件
在Linux中,如何进行Web服务器调优?
在Linux中,如何进行Web服务器调优?
|
3月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
3月前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https