minio 搭建最的对象存储服务器
前言
手里有一个闲置服务器,不能浪费,于是有想把它作为文件静态资源服务器的想法。
本来是想随便起一个 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
.
启动的优化
如果想 关闭终端的时候仍运行请在开头加nohup
, 如果想在终端的后台运行,请在启动服务命令后加上&
,所以最终的命令将会是:
nohup ./minio server /data --console-address :9001 &
nginx代理
设置环境变量
在 如何 nginx 代理上,minio 其实稍显麻烦 。
方式 1(不推荐)
(你不但需要在 nginx 上配置它,更)需要在minio启动之前, 定义好两个 环境变--->用来指定你要代理的域名,比如我这里
export MINIO_SERVER_URL=https://file.dingshaohua.com
export MINIO_BROWSER_REDIRECT_URL=https://file.dingshaohua.com/ui
# 解释
# 第一个是指定访问 minio 核心服务的 地址(既你要代理的地址)
# 第一个是指定访问 minio 后台管理 ui 的服务的 地址(既你要代理的地址)
方式 2(推荐)
不过在 Linux 中,使用 export 设置的环境变量是 临时生效 的,仅在当前终端会话(session)中有效。一旦关闭终端或重新启动系统,这些变量就会丢失,建议还是写到环境变量配置文件中进行持久化生效
echo 'export MINIO_SERVER_URL=https://file.dingshaohua.com' >> ~/.bashrc
echo 'export MINIO_BROWSER_REDIRECT_URL=https://file.dingshaohua.com/ui' >> ~/.bashrc
source ~/.bashrc
# echo $MINIO_SERVER_URL 验证变量是否生效
然后再启动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
其它
重置root账密
同样也是设置环境变量(minio看来真的是喜欢利用环境变量啊 )
echo 'export MINIO_ROOT_USER=root' >> ~/.bashrc
echo 'export MINIO_ROOT_PASSWORD=12345678' >> ~/.bashrc
source ~/.bashrc
# 用户名 的长度应至少为 3 个字符,密码 的长度应至少为 8 个字符。
指定server端口
除了如上说的 minio不但可以指定 ui 端口,还可以指定server端口
nohup ./minio server /data -address :9000 --console-address :9001 &
停止服务
pkill -9 -f "minio server /data"
注册为系统服务
在 /etc/systemd/system
新建 minio.service
文件把下面配置文件写入
[Unit]
Description=Minio
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/root/minio
[Service]
WorkingDirectory=/root/minio
PermissionsStartOnly=true
ExecStart=/root/minio server /data
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
之后就可以很方便的启动或者停止服务了
systemctl start minio # 启动
systemctl stop minio # 停止
硬件要求
事实上,MinIO 没有最佳的硬件配置,从一开始,MinIO 就被设计成可以在多种不同类型的硬件上高效运行。
当然,也是有最低要求的:
处理器:至少1 GHz的64位处理器。
内存:至少1 GB的RAM(推荐2 GB以上)。
硬盘空间:至少20 GB的可用硬盘空间。
实测发现,它会占用 500MB 的内存,和 3% 的 CPU。
教程
中文文档:http://docs.minio.org.cn
简单教程:https://blog.csdn.net/weixin_44203782/article/details/130072777
minio 搭建最的对象存储服务器的更多相关文章
- MINIO搭建单机以及集群
MINIO简介 Minio是Apache License v2.0下发布的对象存储服务器.它与Amazon S3云存储服务兼容.它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM映像. ...
- MinIO 搭建
MinIO 搭建 MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务.它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文 ...
- 使用 minio 搭建私有对象存储云。aws-php-sdk 操作object
How to use AWS SDK for PHP with Minio Server aws-sdk-php is the official AWS SDK for the PHP program ...
- 使用MinIO搭建对象存储服务
1.MinIO是什么? MinIO 是一款高性能.分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件.即X86等低成本机器也能够很好的运行MinIO. MinIO与传统的存储和其 ...
- SpringBoot+Minio搭建不再爆肝秃头的分布式文件服务器
前言 1).有人一定会问,为什么不用FastDFS?众所周知,FastDFS的原生安装非常复杂,有过安装经验的人大体都明白,虽然可以利用别人做好的docker直接安装,但真正使用过程中也可能出现许多莫 ...
- MinIO 搭建使用
MinIO简介¶ MinIO 是一款基于Go语言的高性能对象存储服务,在Github上已有19K+Star.它采用了Apache License v2.0开源协议,非常适合于存储大容量非结构化的数据, ...
- VMware harbor && minio 搭建企业docker私有镜像以及需要注意的问题
1. docker harbor 配置 建议使用在线安装的模式(离线包太大了) 首先需要安装docker-compose .docker .mino (具体安装可以参考官网后者我的博 ...
- 利用 MinIO 轻松搭建静态资源服务
目录 1 引言 2 MinIO 简介 3 MinIO 运行与静态资源使用 3.1 MinIO 获取 3.2 MinIO 启动与运行 3.2.1 前台简单启动 3.2.2 后台指定参数运行 3.2.3 ...
- 从零搭建分布式文件系统MinIO比FastDFS要更合适
前两天跟大家分享了一篇关于如何利用FastDFS组件来自建分布式文件系统的文章,有兴趣的朋友可以阅读下<用asp.net core结合fastdfs打造分布式文件存储系统>.通过留言发现大 ...
- Linux或Docker里安装minio / Docker中安装h5ai
此文为单节点搭建操作 Linux中搭建minio 对象存储服务器 下载minio安装包 wget https://dl.minio.io/server/minio/release/linux-amd6 ...
随机推荐
- “你觉得客户需要”是杀死TA的最后一根稻草 | IPD集成产品开发
这个米老鼠洗衣机,大家眼熟吗? 相信最近热衷于在网上冲浪的朋友们,对这款形似米老鼠的"懒人洗衣机"并不陌生,甚至算是小小地参与了一下这个产品研发项目.在海尔的周云杰总裁爆火出圈后, ...
- Sql查询(Select)语句实例
span { color: rgba(255, 0, 0, 1) } Select 结构: 句子结构: Select 列名 [all/distinct] from 表名 where 条件 group ...
- zk源码—6.Leader选举的实现原理
大纲 1.zk是如何实现数据一致性的 (1)数据一致性分析 (2)实现数据一致性的广播模式 (3)实现数据一致性的恢复模式 2.zk是如何进行Leader选举的 (1)服务器启动时的Leader选举 ...
- java基础之数据结构
一.栈:stack,又称堆栈[出口和入口在同一侧],特点:先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素) 例子:子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当 ...
- Google Adsense中文设置
1. 入口 https://www.google.com/adsense 2. 菜单 Account -> settings -> Personal settings 3. 切换语言 Di ...
- Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提效!
前言 今天大姚带领大家一起来看看 Visual Studio 2022 v17.13 新版发布都更新了哪些新功能,为我们开发工作带来了哪些便利,是否真的值得我们花费时间把 Visual Studio ...
- 『Plotly实战指南』--交互功能进阶篇
在数据可视化的世界中,交互性是提升用户体验和数据探索效率的关键.从简单的悬停提示到复杂的动态数据更新,交互功能让静态图表变得生动起来. 本文将介绍Plotly的高级交互功能,包括点击事件处理.动态数据 ...
- Mysql如何给字符串添加索引(前缀索引)
在日常开发中,我们经常给字符串添加索引,那么给字段添加索引有什么技巧吗,我们看看下面的例子,我们给一个邮箱添加索引,应该如何添加呢 看看下面这条sql select * from user where ...
- LangChain4j比SpringAI强在哪?一文读懂
LangChain4j 和 Spring AI 是 Java 生态中实现大模型应用开发的两个最重要的框架,但二者的区别是啥?生产级别又该使用哪种框架?令很多人犯了难,所以本文就来浅聊一下,希望给大家在 ...
- 信息资源管理综合题之“什么是公钥基础设施(PKI) 和 PKI的任务核心 和 补全PKI认证服务系统流程图”
一.关于公钥基础设施(PKI),请回如下问题 1.PKI的核心任务是什么? 2.PKI的任务核心是什么? 3.基于PKI的认证服务系统至少由哪几部分组成?请将答案内容(1)~(5)填写在题中图下对应的 ...