mayfly-go:web 版 linux、数据库等管理平台

mayfly-go是web 版 linux(终端[终端回放] 文件 脚本 进程 计划任务)、数据库(mysql postgres oracle sqlserver 达梦 高斯 sqlite)、redis(单机 哨兵 集群)、mongo 等集工单流程审批于一体的统一管理操作平台

部署

具体部署见:部署 · 语雀

安装包部署

Ubuntu的apt包里没有,所以要手工下载安装。

前往下载地址下载对应版本的安装包:mayfly-go 发行版 - Gitee.com

解压,然后执行startup.sh即可:

bash 复制代码
wget https://gitee.com/dromara/mayfly-go/releases/download/v1.7.4/mayfly-go-linux-amd64.zip
unzip mayfly-go-linux-amd64.zip 
cd mayfly-go-linux-amd64/
# 修改配置文件
cp config.yml.example config.yml
# 启动mayfly-go
sh startup.sh 
# 停止mayfly-go
sh shutdown.sh 

现在的新版本直接就有config.yml文件了,不用再执行cp config.yml.example config.yml

数据库mysql需要配置一下,或者不用mysql,直接使用sqlite 。编辑config.yml文件:

bash 复制代码
# 若存在mysql配置,优先使用mysql
#mysql:
# host: mysql:3306
# username: root
# password: 111049
# db-name: mayfly-go
# config: charset=utf8&loc=Local&parseTime=true
# max-idle-conns: 5
sqlite:
  path: ./mayfly-go.sqlite
  max-idle-conns: 5

使用docker部署

bash 复制代码
docker pull ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.7.4

docker-compose部署

执行

bash 复制代码
docker-compose up 

使用

启动后系统会起来18888端口服务,直接登录18888端口即可。若有报错,比如mysql连不上等,需要排查问题。

配置端口转发

配置nginx端口转发(不需要)

服务启动后,只绑定了本地端口,所以网络上的其它及其是无法连上的(这里理解错误,其实是全网侦听的)。这时候需要配置端口转发(其实不需要)。这里以nginx配置为例:

bash 复制代码
upstream mayfly-go {   
    server [2409:8a3c:40c0:5b08:a00:27ff:fee8:e484]:18888;
}
server {
    keepalive_requests 120; #单连接请求上限次数。
    listen       80;   #监听端口
    server_name  xxx.net;   #监听地址 
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;   #需要配置支持websocket
    proxy_set_header Connection 'upgrade';    #需要配置支持websocket
    
    location  / {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
        proxy_pass  http://mayfly-go;  #请求转向mayfly-go 定义的服务器列表    
    } 
}

配置vagrant端口转发

因为采用的是vagrant配置VirtualBox虚拟机,所以可以在vagrant的配置里,设置端口转发

bash 复制代码
  config.vm.network "forwarded_port", guest: 18888, host: 18888,
    auto_correct: true

登录

用户名是admin

口令是admin123.

费了好大劲才登上来:

但是没找到啥能配置或管理的地方,也许是因为这台机器太新了,没啥可管理的。

总结:使用感受

mayfly-go的目的是减轻管理员的工作量,提高工作效率。整个文档相对来说,比较详细。但是一些配置细节需要有相关经验才行。

反正我是没找到那些常规配置的地方.....

调试

执行报错mysql连接失败

bash 复制代码
024-03-05 12:40:31.330 [ERROR] [mayfly-go/pkg/starter.initMysql (gorm.go:43)] :
 连接mysql失败! [dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving]
panic: 连接mysql失败! [dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving]

因为测试的机器没有开3306端口,而是采用进行通信的方法,所以先去掉config.yml里面的mysql配置,直接使用sqlite测试。

远程无法连接18888端口

发现服务只起了ipv6的18888端口,没有起ipv4的。但是奇怪的是本机是可以连上的,当然连上之后可以看到是跟本地的ipv4地址的18888端口通信的。真奇怪

原来起了ipv6的,就有ipv4的。跟下面问题一样

看到只有ipv6端口侦听

tcp6 0 0 :::18888 :::* LISTEN

原来有这个ipv6的,ipv4端口也侦听的

没有密码登不上去

后来在issue里面找到,用户名admin,密码admin123. 注意是9个字母,最后一个字母是"."

名词解释:Redis

Redis是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

连mysql报错[error] failed to initialize database, got error dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving

error\] failed to initialize database, got error dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving 2025-09-02 04:14:20.747 \[ERROR\] \[mayfly-go/pkg/starter.initMysql (gorm.go:43)\] : 连接mysql失败! \[dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving

panic: 连接mysql失败! [dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving]

写域名解析在/etc/hosts文件中:

bash 复制代码
# add for mysql 
127.0.0.1 mysql

搞定

报错permission denied while trying to connect to the Docker daemon socket

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%!F(MISSING)var%!F(MISSING)run%!F(MISSING)docker.sock/v1.51/info": dial unix /var/run/docker.sock: connect: permission denied

这个错误表明当前用户没有权限访问Docker守护进程的Unix套接字文件(/var/run/docker.sock)

估计是因为没开docker服务。

相关推荐
dbdr09012 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十四天
linux·运维·c语言·python·学习
独行soc2 小时前
2025年渗透测试面试题总结-42(题目+回答)
android·数据库·安全·adb·面试·渗透测试·sqlite
烟雨迷2 小时前
web自动化测试(selenium)
运维·开发语言·前端·python·selenium·测试工具
吐个泡泡v3 小时前
Portainer:Docker可视化管理神器部署与使用攻略
运维·docker·容器·portainer
聪明努力的积极向上3 小时前
【MYSQL】GET_LOCK使用方法简单解析
数据库·mysql
绵绵细雨中的乡音3 小时前
简易TCP网络程序
linux·网络
艾伦~耶格尔3 小时前
【MySQL体系结构详解:一条SQL查询的旅程】
数据库·学习·mysql
Lu Yao_4 小时前
golang -- viper
服务器·数据库·golang
wanhengidc4 小时前
在云手机中游戏可以自动更新吗?
运维·科技·安全·游戏·智能手机