百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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

sinye56 2024-11-18 16:41 2 浏览 0 评论

前言

在现代软件开发和运维中,管理和操作各种不同类型的服务器和数据库是一个复杂而又重要的任务。虽然有一些现成使用到的服务器管理工具和数据库管理应用,比如: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两种光驱自动挂载的方法

环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...

linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握

虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...

Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)

mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...

在Linux中如何设置自动挂载特定文件系统(示例)

Linux...

Linux环境中的绑定挂载(bind mount)

简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...

Linux挂载CIFS共享 临时挂载 1. 首先

如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...

Linux 硬盘挂载(服务器重启自动挂载)

1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...

linux 挂载磁盘

在Linux中挂载硬盘的步骤如下:...

笨小猪教您Linux磁盘挂载

本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...

Linux 磁盘挂载和docker安装命令

本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...

Linux设置开机自动挂载分区

有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...

在linux挂载一个新硬盘的完整步骤

以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...

Linux系统如何挂载exFAT分区

简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...

Linux系统挂载硬盘

fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...

WSL2发布,如何在Win10中挂载Linux文件系统

WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...

取消回复欢迎 发表评论: