minio 搭建最的对象存储服务器

news/2025/3/31 3:20:03/文章来源:https://www.cnblogs.com/dingshaohua/p/18797197

前言

手里有一个闲置服务器,不能浪费,于是有想把它作为文件静态资源服务器的想法。
本来是想随便起一个 http 服务就可以作为静态资源服务来运行,比如apche、node的http-server、nginx等等。
但是我觉得这样传文件也不方便,还得通过 ssh 或者其它客户端来链接服务器上传,或者写一套 web 项目来做支持,又太麻烦。

网上搜罗一番,发现了这个 用 go 语言写的,号称相当不错的 个人 对象存储 系统 minio,捣鼓一番 所以有了这篇笔记!

它是支持 windows、mac、linux 的,本文以 linux搭建minio 为例!

下载

先下载刀服务器上

wget https://dl.min.io/server/minio/release/linux-amd64/minio

再去执行启动服务命令

./minio server /data --console-address :9001
# 参数解释
# /data 指定文件存放目录
# --console-address :9001 指定 webui 服务端口,如果不指定则每次运行会随机端口(执行运行 minio程序,它会启动两个不同端口的服务, 一个是 api、一个是 ui )

如果没有执行权限,请执行chmod +x minio.
如果想后台运行,请在启动服务命令后加上 &

nginx代理

设置环境变量

在 如何 nginx 代理上,minio 其实稍显麻烦 😭。
(你不但需要在 nginx 上配置它,更)需要在minio启动之前, 定义好两个 环境变--->用来指定你要代理的域名,比如我这里

export MINIO_SERVER_URL=https://file.dingshaohua.com 
export MINIO_BROWSER_REDIRECT_URL=https://file.dingshaohua.com/ui
# 解释
# 第一个是指定访问 minio 核心服务的 地址(既你要代理的地址)
# 第一个是指定访问 minio 后台管理 ui 的服务的 地址(既你要代理的地址)

然后再启动minio(minio会在启动的时候读取这两个环境变量 修改内部的代码 做出适配)!

nginx配置

网上有很多教程其实都是过时的,且不对的,我这里参考官方文档写了一份自用的

# file.dingshaohua.com  # minio控制台
upstream minio_server {least_conn;server 103.110.80.247:9000;
}
upstream minio_ui {least_conn;server 103.110.80.247:9001;
}
server {listen       80;server_name  file.dingshaohua.com;rewrite ^(.*) https://$server_name$1 permanent;
}
server {listen       443 ssl;server_name  file.dingshaohua.com;ssl_certificate /etc/letsencrypt/live/dingshaohua.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/dingshaohua.com/privkey.pem;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;ignore_invalid_headers off;client_max_body_size 0;proxy_buffering off;proxy_request_buffering off;location / {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 300;proxy_http_version 1.1;proxy_set_header Connection "";chunked_transfer_encoding off;proxy_pass http://minio_server;}location /ui/ {rewrite ^/ui/(.*) /$1 break;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-NginX-Proxy true;real_ip_header X-Real-IP;proxy_connect_timeout 300;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";chunked_transfer_encoding off;proxy_pass http://minio_ui;}
}

重启 ngixn 服务器后,访问我如上配置的 https://file.dingshaohua.com/ui(其实直接访问 https://file.dingshaohua.com 也会重定向到这里)即可访问minio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906945.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux上利用sunshine串流和虚拟显示器实现副屏扩展

场景Linux + Wayland,尝试将空闲的android平板作为扩展显示屏方法根据 https://www.w568w.eu.org/spacedesk-on-linux.html 中的描述,利用 sunshine + moonlight 串流以及虚拟显示器欺骗实现副屏扩展虚拟显示器查看当前系统记录的显示器设备接口的连接情况,使用命令for p in…

Go红队开发—CLI框架(二)

Go红队开发—CLI命令行工具编写基础学习(二)。目录CLI开发框架cobra 集成库目录规范搭建框架根命令参数添加子命令帮助信息爬虫功能(趁热打铁)Goquery处理响应编码处理收集百度热搜榜爬虫功能所有源码 CLI开发框架 师傅们久等了,为了加快进度,这章节添加了一个爬虫功能,也是…

APP性能测试工具-GT

GT(随身调)是腾讯研发的一款可以用来做App性能测试的工具,可以对APP进行快速的性能测试,检测App的CPU、内存、流量、电量、帧率/流畅度等等、还能开启日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。 虽然现在该项目已经停止维护了…

一文速通Python并行计算:04 Python多线程编程-多线程同步(上)—基于条件变量、事件和屏障

本文介绍了Python多线程同步的三种机制:条件变量(Condition)、事件(Event)和屏障(Barrier),条件变量指的是线程等待特定条件满足后执行,适用于生产者-消费者模型;Event指的是线程通过事件标志进行同步,适用于线程间简单通信;Barrier指的是多个线程需同步到同一阶段…

docker desktop windows安装

我的机器windows 11 家庭版 下载docker desktop for windows 就直接安装了。安装后打开,遇到了界面转圈圈加载不出来问题,docker engine也是stopped. 病急乱投医,先是说要启用hyper-v,控制面板=》程序和功能里没有发现有hyper-v,一看是家庭版,网上倒是有一个脚本可以在家…

C语言打卡学习第6天(2025.3.25)(补发)

只做了一些有关循环分支函数求值的题,感觉循环函数其实差不多,只有一些细微差别,可能是做的题还不够多或者看运用场景吧

C语言打卡学习第5天(2025.3.24)(补发)

1、把char,getchar,putchar简单看了一下,求ascii值之类的 之类的简单看了一下 2、交换值那一题很奇怪,结果我输出的跟答案要求是一样的,交过去之后显示答案错误,白天的时候问一下

Vulnstack红日靶场通关(持续更新)

带你速通内网渗透相关知识点!!!Vulnstack通关 来源于《内网渗透实战攻略》实战部分 个人是写下自己的笔记 攻击链:探索发现阶段->入侵和感染阶段->攻击和利用阶段->探索感知阶段->传播阶段->持久化和恢复阶段 Windows权限级别前置知识:权限层级 账户类型 权…

Ubuntu 24.04安装MySQL,并且配置外网访问

安装启动更新软件包列表sudo apt update安装MySQL软件包sudo apt install mysql-server启动MySQL服务sudo systemctl start mysql重启命令:systemctl restart mysql配置外网访问 需要修改一个配置 vim /etc/mysql/mysql.conf.d/mysqld.cnf注释掉 这行 配置 bind-address …

2022CCPC Online Contest G - Name the Puppy

对正串和反串分别建立 Trie 树,定义 \(dp[i][j]\) 表示正串 Trie 树上编号为 \(i\) 的点匹配反串 Trie 树上编号为 \(j\) 的点所能拼出最长 anti-border 的长度。 如此,从根节点开始搜索,直到无法匹配为止都可以搜,搜到底后回到根节点继续匹配,可以证明,拼出来的 anti-bo…

互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp智能体框架开发语音交互

前言 前段时间太忙了博客一直都没来得及更新,但是不代表我已经停止开发了,刚好最近把语音部分给调整了一下,所以就来分享一下具体的内容了。我想说一下,更新晚还是有好处的,社区已经有很多的小伙伴自己实现了一些语音对话功能的案例,比如小智也有.NET客户端了,还有就是一…

【AI News | 20250327】每日AI进展

AI Repos 1、playwright-mcp 使用Playwright提供浏览器自动化功能的MCP服务,核心是让LLM通过结构化的可访问性快照与网页交互,不需要依赖截图或视觉模型。可以用来自动填写网页表单、自动收集网页信息、自动进行网页测试等。支持两种模式:快照模式(默认):使用可访问性快照…