编译自己的minio运行程序

发布时间 2023-12-28 17:05:08作者: 喵喵扑

1.下载源码包

源码托管在github,如果嫌下载慢就去码云急速下载里面下载:

github仓库地址:https://github.com/minio/minio/releases
gitee镜像仓库:https://gitee.com/mirrors/minio/tags

假设我这里下载了的文件是这个 RELEASE.2023-12-14T18-51-57Z.tar.gz ,我们把压缩包解压后改名为minio

2.编译项目

先确认go的版本 >1.19,然后把 GOPROXY 设置为国内镜像地址:

go version
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

配置环境变量GOROOTGOPATH,并把go.exe所在的文件夹添加到PATH中,下面是例子:

# window
setx GOROOT "C:\Program Files\Go"
setx GOPATH "C:\Users\lixin\go"

# linux
export GOROOT=/usr/local/go
export GOPATH=~/go
export PATH=$PATH:$GOROOT/bin

然后进入项目文件夹,把项目需要的依赖库下载下来:

go mod download

下载完成后执行编译:

# window
go build -ldflags "-s -w" -o E:\develop\minio\build\minio.exe github.com/minio/minio

# linux
go build -ldflags "-s -w" -o /usr/local/minio/build/minio github.com/minio/minio

linux编译时会使用tmp目录,如果tmp磁盘不足会报错,可以临时扩容一下:

mount -o remount,size=2G /tmp

3.运行文件服务

使用环境变量配置启动参数:

export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=Minio@#1234
export MINIO_BROWSER=off
export MINIO_API_CORS_ALLOW_ORIGIN="https://10.202.5.107,https://61.166.123.123:1111"
export MINIO_ALLOW_ACCESS_FROM_DOMAIN=10.202.5.107,61.166.123.123:1111
export MINIO_HTTP_SERVER_INFO=MyFs

变量说明:

变量名称 说明
MINIO_ROOT_USER 管理控制台账号
MINIO_ROOT_PASSWORD 管理控制台密码
MINIO_BROWSER off关闭web控制台
MINIO_API_CORS_ALLOW_ORIGIN api可使用域名
MINIO_ALLOW_ACCESS_FROM_DOMAIN [new] crossdomain.xml文件的域名配置
MINIO_HTTP_SERVER_INFO [new] 响应头Server的信息

使用9000端口启动文件服务:

./minio server --address :9000 ./data