MinIO多容器配置NGINX代理实践(docker-compose版本)

news2024/11/26 2:45:02

以下nginx配置

分别将本机的9001端口代理到minio1,minio2,minio3,minio4主机的9001端口。用于minio后台

分别将本机的9000端口代理到minio1,minio2,minio3,minio4主机的9000端口。用于minioApi

events {
    worker_connections 1024;
}

http {
    upstream minio_console {
        server minio1:9001 max_fails=3 fail_timeout=5s;
        server minio2:9001 max_fails=3 fail_timeout=5s;
        server minio3:9001 max_fails=3 fail_timeout=5s;
        server minio4:9001 max_fails=3 fail_timeout=5s;
    }

    upstream minio_api {
        least_conn; #最少连接
        server minio1:9000 max_fails=3 fail_timeout=5s;
        server minio2:9000 max_fails=3 fail_timeout=5s;
        server minio3:9000 max_fails=3 fail_timeout=5s;
        server minio4:9000 max_fails=3 fail_timeout=5s;
    }

    server {
        listen 9001;
        ignore_invalid_headers off;
        client_max_body_size 0;
        proxy_buffering off;

        location / {
            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 Host $http_host;
            proxy_pass http://minio_console;
        }
    }

    server {
        listen 9000;
        ignore_invalid_headers off;
        client_max_body_size 0;
        proxy_buffering off;

        location / {
            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 Host $http_host;
            proxy_pass http://minio_api;
        }
    }
}

docker-compose.yaml配置:

version: '3.7'

networks:  # 定义网络
  minio_network:  # 网络名字

# Settings and configurations that are common for all containers
x-minio-common: &minio-common
  image: quay.io/minio/minio:RELEASE.2023-11-01T18-37-25Z
  command: server --console-address ":9001" http://minio{1...4}/data{1...2}
  expose:
    - "9000"
    - "9001"
  # environment:
    # MINIO_ROOT_USER: minioadmin
    # MINIO_ROOT_PASSWORD: minioadmin
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
    interval: 30s
    timeout: 20s
    retries: 3

# 开启四个minioserver端容器以及一个nginx容器
# 使用nginx做负载均衡
services:
  minio1:
    <<: *minio-common
    hostname: minio1
    volumes:
      - data1-1:/data1
      - data1-2:/data2
    networks:
      - minio_network
  minio2:
    <<: *minio-common
    hostname: minio2
    volumes:
      - data2-1:/data1
      - data2-2:/data2
    networks:
      - minio_network

  minio3:
    <<: *minio-common
    hostname: minio3
    volumes:
      - data3-1:/data1
      - data3-2:/data2
    networks:
      - minio_network
  minio4:
    <<: *minio-common
    hostname: minio4
    volumes:
      - data4-1:/data1
      - data4-2:/data2
    networks:
      - minio_network
  nginx:
    image: nginx:1.19.2-alpine
    hostname: nginx
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    ports:
      - "9000:9000"
      - "9001:9001"
    #depends是告诉docker需要先启动以下四个容器才启动本容器
    depends_on:
      - minio1
      - minio2
      - minio3
      - minio4
    networks:
      - minio_network
## By default this config uses default local driver,
## For custom volumes replace with volume driver configuration.
volumes:
  data1-1:
  data1-2:
  data2-1:
  data2-2:
  data3-1:
  data3-2:
  data4-1:
  data4-2:

 services下的各个minio-server的实例中的hostname主要用于nginx配置文件中的配置。

dockercompose的配置文件和Nginx的配置文件放在同一目录。

运行dockercompose

(需安装dockercompose)-ubuntu

apt install -y docker-compose

(需安装dockercompose)-centos

yum install -y docker-compose

docker-compose -f docker-compose.yaml up

访问本机9001端口:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium元素定位之页面检测技巧

在进行web自动化测试的时候进行XPath或者CSS定位&#xff0c;需要检测页面元素定位是否正确&#xff0c;如果用脚本去检测&#xff0c;那么效率是极低的。 一般网上推选装额外的插件来实现页面元素定位检测 如&#xff1a;firebug。 其实F12开发者工具就能直接在页面上检测元…

广东厂家建筑木模板:桥梁工地施工的理想选择

广东地区一直以来都是中国建筑业的重要制造中心之一。在这个繁忙的地方&#xff0c;建筑行业的发展需要可靠且高质量的建筑材料。在众多的建筑材料中&#xff0c;建筑木模板作为一种重要的施工辅助工具&#xff0c;被广泛应用于桥梁工地的施工中。 广东厂家建筑木模板以其优质的…

初识RTOS

缺点&#xff1a; 如果一心多用&#xff0c;上一秒钟喂饭&#xff0c;下一秒钟回同事信息。 虽然还是一个脑子&#xff0c;一次智能处理一件事&#xff0c;但是给人的感觉就不会像上面那样了。人体就是一个嵌入式。 CPU是他的大脑。 手就是总线&#xff0c;可以操作芯片之外的…

深度学习服务器(Linux)开发环境搭建教程

当你拿到一台服务器的使用权时&#xff0c;最头疼的莫过于登陆服务区并配置开发环境。本文将从0开始&#xff0c;讲述一台刚申请的服务器远程登陆并配置开发环境的全过程。希望对你有所帮助 1.登陆服务器 打开MobaXterm软件&#xff0c;创建一个新的Session&#xff0c;选择S…

探索数据库世界的奥秘:MySQL初学者必备指南!

数据库开发-MySQL 1. 数据库操作-DQL1.1 介绍1.2 语法1.3 基本查询1.4 条件查询1.5 聚合函数1.6 分组查询1.7 排序查询1.8 分页查询1.9 案例1.9.1 案例一1.9.2 案例二 2. 多表设计2.1 一对多2.1.2 外键约束 2.2 一对一2.3 多对多 1. 数据库操作-DQL 1.1 介绍 DQL英文全称是Da…

ubuntu系统调整根目录空间

调整根目录大小&#xff1a; 一旦您释放了一部分空间&#xff0c;您可以使用 LVM 工具来调整根目录的大小。 运行 sudo lvresize -r -L <size>G /dev/mapper/ubuntu--vg-ubuntu--lv 命令&#xff0c;将根目录的逻辑卷&#xff08;logical volum…

C++算法:拼接最大数

题目 给定长度分别为 m 和 n 的两个数组&#xff0c;其元素由 0-9 构成&#xff0c;表示两个自然数各位上的数字。现在从这两个数组中选出 k (k < m n) 个数字拼接成一个新的数&#xff0c;要求从同一个数组中取出的数字保持其在原数组中的相对顺序。 求满足该条件的最大数…

记录::6d位姿数据集-meshlab简单使用-修改单位度量

制作6d数据集的时候&#xff0c;难免要对点云进行处理&#xff0c;小白记录一下操作指南 目录 1、安装 2、选中背景&#xff0c;删除 3、生成三角化 4、保存 5、修改单位度量 1、安装 Releases cnr-isti-vclab/meshlab GitHub 下载tar&#xff0c;解压&#xff0c;然后…

AI智能超越人类终破解!李飞飞高徒新作破圈,5万个合成数据碾压人类示例,备咖啡动作超丝滑

AI巨佬Geoffrey Hinton称&#xff0c;「科技公司们正在未来18个月内&#xff0c;要使用比现在GPT-4多100倍的算力训练新模型」。 更大参数的模型&#xff0c;对算力需求巨大的同时&#xff0c;对数据也提出了更高的要求。 但是&#xff0c;更多的高质量数据该从何来&#xff1…

客服行业未来的发展前景怎么样?

随着互联网和科技的快速发展&#xff0c;客服行业也在不断发展和壮大。客服行业涉及的领域非常广泛&#xff0c;包括电商、互联网、金融、医疗、教育、交通等各个行业。客服行业未来的发展前景也非常广阔。 一、人工智能客服将成为主流 人工智能技术的不断发展和成熟将会改变客…

【vscode】vscode实现c代码跳转,函数关联关系查看

这里写自定义目录标题 1. 安装插件a. C/Cb. Gtagsc. C/C GNU Global 2. 下载 GLOBAL 并配置3. 使用 1. 安装插件 a. C/C b. Gtags c. C/C GNU Global 2. 下载 GLOBAL 并配置 Windows 下 GLOBAL 下载地址&#xff1a;http://adoxa.altervista.org/global/ 注意&#xff1a;无法…

清华大学利用可解释机器学习,优化光阳极催化剂,助力光解水制氢

水的太阳能光电化学 (PEC) 分解是将太阳能高效转换为氢能的方法&#xff0c;是一种很有前景的可再生能源生产方式。然而&#xff0c;受电极性质及电极缺陷的影响&#xff0c;PEC 反应的效率较低&#xff0c;需要合适的助催化剂辅助。而电解池、光电极和助催化剂组成的 PEC 系统…

GPT-4 变笨加剧,一个笑话讲八百遍;ChatGPT 之父剑桥演讲遭抵制丨 RTE 开发者日报 Vol.77

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

国家开放大学期末统一考试测试题

试卷代号&#xff1a;2006 经济数学基础12 参考试题 附表 导数基本公式&#xff1a; 积分基本公式&#xff1a; c0 odxc xaaxa-1 xadxxa1a1c(a≠-1) axaxlna(a>0且a≠1) axdx…

Ansible自动化安装部署及使用

目录 前言 一、环境概况 修改主机名&#xff08;可选项&#xff09; 二、安装部署 1.安装epel扩展源 2.安装Ansible 3.修改Ansible的hosts文件 4.生成密钥 三、Ansible模块使用介绍 Command模块 Shell模块 User模块 Copy模块 File模块 Hostname模块 Yum模块 Ser…

AI天花板打开,昇腾如何“全周期”赋能人才成长?

作者 | 曾响铃 文 | 响铃说 竞赛已经成为培养与选拔人才行之有效的方式&#xff0c;如火如荼的AI领域同样如此。 不久前&#xff0c;昇腾AI创新大赛2023全国总决赛&#xff08;以下简称“大赛”&#xff09;举行&#xff0c;来自全国22个赛区的78支团队经过激励比拼&#xf…

SNAP打开影像失败No appropriate reader found

SNAP打开影像失败No appropriate reader found 问题描述 原因 这是我前几周用的&#xff0c;还有这些模块&#xff0c;但不知道何时&#xff0c;这些模块就少了 重装一下吧&#xff0c;可能是误删东西了 解决方案 重装了一下&#xff0c;就能够打开了 装完之后又有这些模…

强大日志查看器,助力数据联动分析

前言 我们曾讨论过观测云查看器强大的查询筛选和搜索功能&#xff0c;能够帮助用户快速、精准地检索数据&#xff0c;定位故障问题&#xff08;参见《如何使用查看器筛选、搜索功能进行数据定位&#xff1f;》&#xff09;。除此之外&#xff0c;日志查看器不仅可以帮助我们收…

TensorFlow案例学习:使用 YAMNet 进行迁移学习,对音频进行识别

前言 上一篇文章 TensorFlow案例学习&#xff1a;简单的音频识别 我们简单学习了音频识别。这次我们继续学习如何使用成熟的语音分类模型来进行迁移学习 官方教程&#xff1a; 使用 YAMNet 进行迁移学习&#xff0c;用于环境声音分类 模型下载地址&#xff08;需要科学上网&…

HTML基础知识——URL、文本标签、链接标签、图片标签、列表标签

目录 URL&#xff08;统一资源定位符&#xff09; 概述 网址的组成部分 协议 主机 端口 路径 查询参数 锚点 文本标签 示例&#xff1a; 链接标签 示例&#xff1a; 图片标签 示例&#xff1a; 列表标签 示例&#xff1a; URL&#xff08;统一资源定位符&#xff09;…