Minio 文件服务(2)—— Minio用Nginx做负载均衡

本文介绍了如何使用Nginx为已部署的Minio服务设置负载均衡。通过编辑nginx.conf和minio.conf配置文件,实现对多个Minio节点的轮询策略负载均衡。如果需要启用SSL,还需上传证书并映射端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Minio 文件服务(1)—— Minio部署使用及存储机制分析
Minio 文件服务(2)—— Minio用Nginx做负载均衡

nginx 负载均衡

假设我们部署了上述4个节点的minio,虽然从每一个节点都能进行登陆和操作,但是不是负载均衡的,有可能只有其中1台机器在不断进行存储和下载的操作,因此我们可以部署一个nginx服务。当然如果用docker swarm或者k8s部署的集群就不存在这个问题了。

操作

1、下载镜像。
2、启动容器,如果不需要ssl证书访问则不需要映射443端口,也不需要挂载ca文件夹。sites-enable文件夹是用来存放启用我们自己的站点的配置文件。当然在原本的/etc/nginx/conf.d/default.conf默认配置文件上修改也是可以的,但是不推荐。
3、如果要启用证书的话,即想用https://来访问服务,就需要上传相关证书crt和key文件到服务器的ca挂载目录下。具体可以去看《linux基础(1)—— 上传/下载文件》那篇文章。
4、进入容器。
5、因为后续需要修改配置文件,所以可能需要安装vim工具。
6、修改配置文件,下文详解。
7、每次修改配置文件后都要中心装载才能生效。

// 1、拉取官方nginx镜像
docker pull docker

// 2、启动容器
docker run --name minio_nginx -d -p 80:80 -p 443:443 \
-v /var/docker-volume/minio:/minio \
-v /var/docker-volume/sites-enable:/etc/nginx/sites-enabled \
-v /var/docker-volume/ca:/ca \
nginx

// 3、可能需要向服务器上传或下载文件,有2个方法。具体可以去看我的《linux基础(1)—— 上传/下载文件》

// 4、进入容器:
docker exec -it minio_nginx /bin/bash

// 5、官方镜像可能没有安装vim,可按需要安装一些工具
> apt-get update
### 解决 MinIO 负载均衡环境下的文件上传失败 #### Nginx 配置调整 当通过 Nginx 反向代理访问 MinIO 并遇到大文件上传限制时,需修改 Nginx 的配置来允许更大的文件传输。默认情况下,Nginx 对客户端请求体大小有限制,通常设置为 1 MB[^2]。 为了支持更大尺寸的文件上传,在 Nginx 配置文件中的 `http` 或者特定站点配置块内增加如下指令: ```nginx client_max_body_size 0; ``` 此参数设为 `0` 表示不限制最大请求体大小;也可以指定具体的数值如 `5G` 来限定最大上传文件大小为 5GB。 #### 完整的 Nginx 和 Upstream 设置 对于采用多个 MinIO 实例组成的集群并希望通过 Nginx 进行负载均衡的情况,完整的 Nginx 配置应包含上游服务器定义以及必要的优化选项。下面是一个综合性的例子[^3]: ```nginx upstream minio_pool { server 192.168.1.100:33806 weight=2; server 192.168.1.101:33807 weight=1; server 192.168.1.102:33808 weight=2; server 192.168.1.103:33809 weight=1; } server { listen 80; server_name example.com; location / { proxy_pass http://minio_pool/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 0; # 不限文件大小 # 启用 Gzip 压缩以提高性能 gzip on; # 如果需要处理 WebSocket 协议,则添加以下两行 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ``` 上述配置不仅解决了文件上传大小的问题,还提供了更好的网络通信效率和支持更多类型的连接协议。 #### 测试与验证 完成以上更改之后,记得重启 Nginx 服务使新配置生效,并测试上传功能是否正常工作。可以尝试上传不同大小的文件MinIO 存储系统中,确认一切运作良好后再投入生产环境中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值