首页 > 编程语言 >编译自己的minio运行程序

编译自己的minio运行程序

时间:2023-12-28 17:14:36浏览次数:25  
标签:github minio 程序 编译 export https go MINIO

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

标签:github,minio,程序,编译,export,https,go,MINIO
From: https://www.cnblogs.com/lixingwu/p/17933091.html

相关文章

  • 运行编译生成的共享库文件
    1、将生成的整个文件目录拷贝到用户目录下,如:/home/wqz/gzgldw目录gzgldw下包含两个目录bin和lib,目录bin下的gzgldw即为可执行的共享库文件,目录lib下是程序用到的库文件和其他相关目录及文件等。2、默认共享库文件gzgldw打开方式是文本编辑器,双击运行如果以默认打开方式......
  • 【程序】[API]一言获取_纯文本返回
    程序页面程序作者:盼星辰使用教程API设置程序内置三个api,如需使用,只需API选择中,前三项勾选其中一项即可,如需使用其他API,本程序允许自定义api,注意,使用自定义api时,请确保自定义的api返回内容为纯文本形式,一般的api调用返回形式可能为json或者是txt形式,请确保,返回形式为txt。获......
  • PM2部署DotNet应用程序
    pm2简介PM2是一个Node.js的进程管理工具,可以帮助开发者简化Node.js应用的部署和运维。它提供了进程守护、负载均衡、日志管理等功能,可以监控应用程序的运行状态,并在发生意外情况时自动重启应用。PM2还支持多种部署方式,包括单机部署、集群模式和Docker容器部署,适用于各种规模的项......
  • 如何在 Python 程序中读取和写入文件
     在Python编程中,文件读写是一项常见的操作。通过文件读写,我们可以从文件中读取数据,或将数据写入到文件中。本文将介绍在Python程序中进行文件读写的基本操作。 读取文件 要读取文件,我们可以使用Python内置的`open()`函数。`open()`函数接受文件路径和打开模式作为参数,并返回一......
  • 微信小程序--实现页面之间的切换
    微信小程序中实现页面之间的切换 wx.navigateTo(); wx.redirectTo();wx.switchTab()区别:wx.navigateTo()跳转到应用内的某个页面,保留当前页面wx.redirectTo()跳转到应用内某个页面,关闭当前页面wx.switchTab()跳转到tabBar页面,并关闭其他所有非tabBar页面1. wx.......
  • 语音直播聊天交友小程序(艾思软件 定制开发 源码交付)
    语音直播聊天交友小程序的开发涉及到多个技术领域,包括前端开发、后端开发、音频处理技术等。在前端开发方面,需要使用HTML5、CSS3和JavaScript等技术来实现用户界面的设计和交互功能。在后端开发方面,需要使用Node.js、PHP或Java等编程语言来搭建服务器,处理用户的请求和数据存储。......
  • 如何解决使用融云音视频时由于库冲突导致编译不通过的问题
    音视频库里面使用了一些第三方库,比如openssl,libopencore-amrnb等第三方库,如果集成的过程中遇到冲突可以尝试这样修改:1、在BuildSettings中OtherLinkerFlags中把-all_load去掉;2、如果遇到openssl库冲突无法解决,请工单联系我们单独提供不包含openssl库的音视频引擎库......
  • Spring Boot + MinIO 实现文件切片极速上传技术
    (文章目录)一、引言现代Web应用中,文件上传是一个常见的需求,尤其是对于大文件的上传,如视频、音频或大型文档。为了提高用户体验和系统性能,文件切片上传技术逐渐成为热门选择。本文将介绍如何使用SpringBoot和MinIO实现文件切片极速上传技术,通过将大文件分割成小片段并并行上传,显......
  • 反编译wx小程序遇到的问题
    怎么反编译就不说了,有很多文章,推荐两个http://t.csdnimg.cn/DrvBZhttp://t.csdnimg.cn/NOEys 下面开始说问题_typeof3isnotafunctionasd将项目下文件@babel/runtime/helpers/typeof.js内容替换为如下function_typeof2(o){"@babel/helper......
  • 如何写出高效清晰的嵌入式C程序
    作为嵌入式工程师,怎么写出效率高、思路清晰的C语言程序呢?要用C语言的思维方式来进行程序的构架构建要有良好的C语言算法基础,以此来实现程序的逻辑构架灵活运用C语言的指针操作虽然看起来以上的说法很抽象,给人如坠雾里的感觉,其实就是用C语言进行遇到问题、分析问题和解决问题的过程......