当前位置: 首页 > news >正文

minio-1.搭建

  关于原生运行还是容器运行的问题,豆包建议使用原生安装,理由是原生的更快、而且原生安装并不复杂(minio是单文件)。
  由于采取集群方式,使用了双主机+nginx的方式,至于nginx如何做到高可靠,是另外的话题了。

一、集群部署minio:

1、下载minio执行文件及工具(可选):两台服务器上都要执行。

wget https://dl.min.io/server/minio/release/linux-arm64/minio -O /usr/local/bin/minio && chmod +x /usr/local/bin/minio
wget https://dl.min.io/client/mc/release/linux-arm64/mc -O /usr/local/bin/mc && chmod a+x /usr/local/bin/mc

2、把minio配置为服务:新建/etc/systemd/system/minio.service,两台服务器上都操作

[Unit]
Description=MinIO Object Storage
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target[Service]
EnvironmentFile=/etc/minio/minio.env
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES \--console-address $MINIO_CONSOLE_ADDRESS \
Restart=always
User=root
Group=root
LimitNOFILE=65536
TimeoutStopSec=300[Install]
WantedBy=multi-user.target

3、配置minio:新建/etc/minio/minio.env(两台服务器上都操作)。主节点为node1(192.168.68.29),从节点为node2(192.168.68.30)。需配置两台服务器的hosts文件。存储目录两台服务器都制定为/data/minio/storage。此时可以启动minio了

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin_password
MINIO_VOLUMES="http://node1:9000/data/minio/storage http://node2:9000/data/minio/storage"
MINIO_SERVER_URL=http://192.168.68.29:9000
MINIO_CONSOLE_ADDRESS=:9001
MINIO_LOG_LEVEL=info
MINIO_LOG_DIR=/var/log/minio

4、配置nginx:使用openresty容器方式部署,配置文件nginx.conf如下:

#user  app;
worker_processes  auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {worker_connections  1024;
}http {include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
sendfile        on;
    keepalive_timeout  65;
# MinIO API 集群(双节点负载均衡)upstream minio_servers {server 192.168.68.29:9000;
        server 192.168.68.30:9000;
        #会话保持,避免跨节点操作异常ip_hash;
    }# MinIO 控制台upstream minio_console {server 192.168.68.30:9001;
    }# MinIO API 代理server {listen 8000;
        server_name 192.168.68.29;
# 支持大文件上传(核心)client_max_body_size 0;
        proxy_buffering off;
        proxy_request_buffering off;
location / {proxy_pass http://minio_servers;
            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-Forwarded-Host $http_host;
            proxy_set_header X-Forwarded-Port $server_port;
            # 超时配置(适配大文件)proxy_connect_timeout 300s;
            proxy_send_timeout 300s;
            proxy_read_timeout 300s;
        }}# MinIO 控制台代理server {listen 8001;
        server_name 192.168.68.29;
location / {proxy_pass http://minio_console;
            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-Forwarded-Host $http_host;
            proxy_set_header X-Forwarded-Port $server_port;
            # 新增:超时配置,避免控制台操作超时proxy_connect_timeout 300s;
            proxy_send_timeout 300s;
            proxy_read_timeout 300s;
            # WebSocket 支持(控制台实时监控必备)proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }}
}

5、配置用户:

  • 为每种权限新建一个.json文件,配置相关信息
#rw-aimodels.json,对aimodels目录有读写权限的用户
{"Version": "2012-10-17","Statement": [
    {"Effect": "Allow","Action": [
        "s3:ListBucket","s3:GetObject","s3:PutObject","s3:DeleteObject"],"Resource": [
        "arn:aws:s3:::aimodels","arn:aws:s3:::aimodels/*"]}]
}#ro-aimodels.json,对aimodels目录仅有读权限的用户
{"Version": "2012-10-17","Statement": [
    {"Effect": "Allow","Action": [
        "s3:ListBucket", "s3:GetObject"],"Resource": [
        "arn:aws:s3:::aimodels","arn:aws:s3:::aimodels/*"]}]
}
  • 新建用户
    # 新建只读用户
    mc admin user add myminio ro-aimodels 'ro-password'
    # 新建读写用户
    mc admin user add myminio rw-aimodels 'rw-password'
  • 新建策略
    # 新建只读策略
    mc admin policy add myminio ro-aimodels /etc/minio/ro-aimodels.json
    # 新建读写策略
    mc admin policy create myminio rw-aimodels /etc/minio/rw-aimodels.json
  • 为用户配置策略
    # 指定ro-aimodels为只读
    mc admin policy attach myminio ro-aimodels --user ro-aimodels
    # 指定rw-aimodels为读写
    mc admin policy attach myminio rw-aimodels --user rw-aimodels

6、新建bucket:通过控制台,使用admin登录:http://192.168.68.29:9001

二、使用:

http://www.jsqmd.com/news/408677/

相关文章:

  • 网卡 介质 交换机
  • 2026年评价高的地图数据标注公司推荐:人工智能数据标注、医疗文本数据标注、图像数据标注、地图标注、大数据标注选择指南 - 优质品牌商家
  • 2026市场新型太空科幻机械舱制造厂家选择秘籍大揭秘,机械舱制造企业有哪些聚焦优质品牌综合实力排行 - 品牌推荐师
  • 【开题答辩全过程】以 前缘农产品销售系统的设计与实现为例,包含答辩的问题和答案
  • 深度学习毕设创新点不用愁!5个实战思路,超实用
  • 2026Deepseek知识库部署优选服务商推荐:私有化部署、模型调优、行业定制全覆盖 - 品牌2025
  • 【开题答辩全过程】以 火车票订票系统为例,包含答辩的问题和答案
  • 闲置瑞祥提货券别浪费!3种正规回收途径实测,新手也能轻松变现 - 京回收小程序
  • 工业数智化转型:视频SOP如何成生产“新基建”?
  • 如何负责一个系统的稳定性
  • 【开题答辩全过程】以 慧源慈善救助系统为例,包含答辩的问题和答案
  • 一文讲透|专科生必备的AI论文工具 —— 千笔·专业论文写作工具
  • 低对比度金属零部件 OCR 文字识别失败:问题排查、解决方案与案例实战
  • 参考文献崩了?千笔写作工具,口碑爆棚的AI论文工具
  • 少走弯路:8个降AIGC平台测评,本科生降AI率必备攻略
  • 2026AI知识库部署方案商推荐:智能检索、RAG 落地、私有化部署全搞定 - 品牌2025
  • 从friend到指针偏移:7种方法突破C++ private,第4种让我直呼离谱
  • 【开题答辩全过程】以 婚庆系统为例,包含答辩的问题和答案
  • 2026年/2/24操作记录
  • 2026年AI数据标注厂家权威推荐榜:数据标注管理平台/智能驾驶数据标注服务/自动驾驶数据标注/语音数据标注/选择指南 - 优质品牌商家
  • 分布式ID方案选型与实战:雪花算法、号段、UUID 怎么选?
  • Jmeter接口测试流程
  • 接口幂等性设计与实战:支付、下单、重试场景怎么搞?
  • 2026企业知识库部署服务商推荐:实力方案商、本地部署、安全合规厂商全汇总 - 品牌2025
  • 题解:P14765 [ICPC 2024 Seoul R] Bottles
  • 2026年15万左右城市SUV终极评测(权威机构双重背书)| 家庭选车避坑全指南 - 十大品牌推荐
  • 你好,芯片设计新搭档:用LLM自动化RTL设计的正确姿势
  • 计算机毕业设计之springboot基于小程序社区垃圾分类管理系统
  • 2026国内最新培育钻生产厂家top5推荐!广东广州等地优质培育钻公司权威榜单发布,环保质感兼具的时尚钻饰之选 - 十大品牌榜
  • 春晚之后机器人遭“疯抢”,具身下半场锁定商业化