您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

minio集群将一切访问都交给nginx

时间:2022-09-05 11:07:25  来源:  作者:互联共商

问题

一般在正式的环境下,通过给域名添加子路径(如oss)用于下载文件服务器上的文件。但这种设置子路径的方式不能直接通过API上传文件,创建桶等,鉴于安全,也不能让这种子路径拥有创建、删除文件的权限。所以,一般情况下,后台还是通过访问多个minio端口9000实现文件的操作,甚至有时,还需要在自己的代码中写一套负载均衡的逻辑(之前我的代码中就是这样实现的)。其实完全可以基于Nginx直接暴露9001,9000, 同时再给web通过/oss/xx的形式访问的能力。

结构设计

  • 实现API负载均衡,并可以直接通过nginx:9000商品操作文件服务器。
  • 实现通过/oss/xx仅浏览某个指定的文件服务器上文件(必须是完整目录)。
  • 图片服务器高可靠。
  • 本次搭建使用bitnami/minio镜像,此镜像为官方认证的镜像,方便使用、集群方便,唯一就是不能通过传递--address,--console-address修改端口号,此镜像固定API端口为9000,console端口为9001。好在,如果使用非host模式,可以此端口号映射成你想要的即可。

 


 

本次环境在一台主机上搭建:

主机

软件

网卡

端口

192.168.56.61

bitnami/minio:2022.9.1

mybridge

不对外暴露

bitnami/minio:2022.9.1

mybridge

不对外暴露

bitnami/minio:2022.9.1

mybridge

不对外暴露

bitnami/minio:2022.9.1

mybridge

不对外暴露

nginx:1.23.1

mybridge

80,9000,9001

目录结构

在任意目录下,创建data{1..4}目录,用于保存minio的数据。创建nginx用于添加nginx的配置文件。在nginx1.19版本以后,可以通过映射 /etc/nginx/templats文件,将此目录下的xxx.conf.template文件自动的保存到nginx的配置文件下/etc/nginx/conf.d/,nginx将 templates下的 *.conf.template文件保存到/etc/nginx/conf.d/目录下以后,会删除.template扩展名。

目录截图:


 

配置文件Docker-compose.yml

此配置文件,用于管理4个minio容器和一个nginx容器。由于bitnami/minio在创建时,会自动创建mc client,这会影响创建的速度,我们可以通过MINIO_SKIP_client将它关闭。关闭后,如果需要使用此功能,可以进入容器自行设置。


 


 

配置文件default.conf.template

此配置文件为oss映射配置文件,配置后,web可以通过http://<或名>/oss/<桶名称>/1.png直接访问到到图片,但不能操作minio的文件系统,如上传、创建桶等。


 

配置文件minio_api.conf.template

此配置文件用于nginx影射9000端口,实现直接通过此端口创建桶、上传等,也用于其他client接口。


 

配置文件minio_console.conf.template

此配置文件,用于影射9001端口,实现console ui的相关操作。


 

启动所有容器

# docker compose up -d

启动过程中,可以通过log查看启动日志,如出现以下信息,即表示启动成功,注意最后的 4 online表示4台主机都已经上线并可以使用了。


 

通过以下启动的容器可以看出,仅nginx对外影射了端口,minio所有端口仅对nginx开放。


 

可选的,进入任意一台容器,查看集群状态


 

访问ui

由于只开放了nginx9000端口,而此端口后面,负载均衡了minio{1...4}:9000端口,所以,访问时,如果有宕机的minio也不影响操作,登录之后,可以查看到minio集群的运行状态。

http://192.168.56.61:9001


 

创建一个桶,并设置访问权限


 

宕机测试

现在让其中一台minio服务器下线,并继续在console ui上操作,创建桶、上传或下载文件,都可以正常操作。


 

下线某个minio后查看ui中的offline下线已经为1 servers ,1 drivers。


 

测试完成后,再重新启动

docker compose start minio1

oss访问测试(通过)


 

域名访问测试(通过)


 

JAVAAPI访问(通过)

直接访问nginx的9000端口即后,再不用于自己手写代码实现api接口的负载均衡了。


 


 

deepin

另:本人的操作系统为deepin 20(绝对不是给deepin做宣传),deepin是基于debian的linux系统,非常好用。推荐大家尝试。上个图:


 


 


 



Tags:nginx   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
nginx 80端口重定向到443端口,也就是http访问自动跳转到https 配置如下:一、按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问...【详细内容】
2022-10-09  Tags: nginx  点击:(74)  评论:(0)  加入收藏
 Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能,比如后面会介绍的负载均衡。本篇博客我们会先介绍 Ngin...【详细内容】
2022-09-28  Tags: nginx  点击:(57)  评论:(0)  加入收藏
客户端在访问时会先把请求发到nginx,http的默认端口是80,而nginx一直监听80端口,nginx收到请求后根据域名解析,映射到不同路径,实现反向代理。我们在浏览器访问时就不需要再用 ip...【详细内容】
2022-09-18  Tags: nginx  点击:(14)  评论:(0)  加入收藏
本来想安装宝塔一键搭建lnmp环境的,但是wsl 2安装宝塔之后用不了,而且连wsl 2的网络都没了,所以无奈之下只好手动一个个装,安装nginx之后,在conf.d目录下创建文件lw_test.conf,内...【详细内容】
2022-09-18  Tags: nginx  点击:(62)  评论:(0)  加入收藏
文章目录 nginx做负载均衡服务器,配置动静分离3. 在134主机主机部署lnmp,在动态资源4.1 在128主机安装httpd,做静态资源4.2 在129主机源码安装nginx并配置负载均衡器,进行调度5....【详细内容】
2022-09-07  Tags: nginx  点击:(97)  评论:(0)  加入收藏
Nginx简介Nginx (发音为“Engine-x”)是一种开源软件,最初被设计为高性能Web服务器。今天,Nginx可以完成其他一些任务,包括缓存服务器,反向代理服务器,负载平衡器等等。WEB服务器目...【详细内容】
2022-09-05  Tags: nginx  点击:(103)  评论:(0)  加入收藏
问题一般在正式的环境下,通过给域名添加子路径(如oss)用于下载文件服务器上的文件。但这种设置子路径的方式不能直接通过API上传文件,创建桶等,鉴于安全,也不能让这种子路径拥有创...【详细内容】
2022-09-05  Tags: nginx  点击:(220)  评论:(0)  加入收藏
软硬件环境 ubuntu 16.04 Android Studio 2.1.3 OTT BOx with android 5.1.1 nginx 1.11.3 nginx-rtmp-module vitamio前言当下,直播已经成为网络热词,它不单单是指传统广播...【详细内容】
2022-09-03  Tags: nginx  点击:(65)  评论:(0)  加入收藏
Caddy是一个强大且可扩展的Web服务器、代理服务器。Caddy使用Go语言开发,支持HTTP/2IPv6、Markdown、WebSockets、FastCGI、模板等等,目前已经超过42k star。功能特性 相比N...【详细内容】
2022-09-01  Tags: nginx  点击:(76)  评论:(0)  加入收藏
一、docker直接运行一个nginx应用# docker run -d -p 8080:80 nginxUnable to find image &#39;nginx:latest&#39; locallylatest: Pulling from library/nginxa330b6cecb98...【详细内容】
2022-07-27  Tags: nginx  点击:(83)  评论:(0)  加入收藏
▌简易百科推荐
众所周知,SSL证书通常是针对完全合格的域名(FQDN)颁发的。然而,一些企业和公共机构不能通过域名访问各种类型的应用程序,而是使用IP地址。为了有效保障这类企业的数据传输安全,IP...【详细内容】
2022-10-30  青蛙数字安全    Tags:SSL   点击:(14)  评论:(0)  加入收藏
现在搭建网站其中的三要素:域名、主机空间以及建站程序缺一不可。主机空间其实也就是我们常见的服务器,在搭建网站之前一般都会提前规划配置什么样的空间/服务器,其中美国虚拟...【详细内容】
2022-10-24  安信SSL证书    Tags:SSL证书   点击:(5)  评论:(0)  加入收藏
当前许多企业为吸引国际客户的关注,获取更多的国际市场机会,都把网站搭建在香港或国际多地的服务器上。但是在网站搭建完成后,发现网站无法访问,这是什么原因导致的呢?其实,遇到...【详细内容】
2022-10-24  云杰通信    Tags:服务器   点击:(8)  评论:(0)  加入收藏
我们如果要存储大量数据的话,都会用到服务器系统进行储存,很多IT公司都是拥有自己的服务器系统,那如果我们因为工作需要想要重装戴尔服务器系统的话,要怎么进行操作呢,下面教给大...【详细内容】
2022-10-24  小白一键重装系统    Tags:服务器   点击:(11)  评论:(0)  加入收藏
现在主流都在推荐使用SSL证书,部署了SSL证书能自动激活浏览器显示“锁”型标志,我们可以在浏览器的地址栏看到“https”开头的网址。SSL证书意味着在客户端浏览器和Web服务器...【详细内容】
2022-10-22  吠品    Tags:SSL证书   点击:(4)  评论:(0)  加入收藏
大家都知道安装域名安全证书,即SSL证书后相当于为网站加上了一层保护罩,能有效预防黑客攻击,避免传输信息的泄露,从而大大提高网站的安全性。虽然大多数网站使用域名申请SSL证书...【详细内容】
2022-10-21  Cntrus数字认证    Tags:SSL证书   点击:(5)  评论:(0)  加入收藏
今天,通过xftp向Centos系统的某个文件夹上传文件时,莫名其妙上传失败,提示的错误信息为Unknown error!首先排除了权限问题,但是具体是什么问题呢?初步怀疑是磁盘满了。那么如果确...【详细内容】
2022-10-20  紫气之巅  今日头条  Tags:CentOS   点击:(9)  评论:(0)  加入收藏
FTP服务软件安装包: vsftpd默认发布目录: /var/ftp协议接口: 21/tcp服务配置文件: /etc/vsftpd/vsftpd.conf报错id的解析:500 ##文件系统权限过大530 ##用户认证失败550 ##服务本...【详细内容】
2022-10-17  沪飘运维    Tags:FTP   点击:(19)  评论:(0)  加入收藏
一个朋友说他遇到这样一个问题,同样的服务器别人可以连接,自己却无法连接,捣鼓了好久都无法解决,很是郁闷。这个问题,刚好我之前也遇到过,后来完美解决了,这就给大家分享一下我的解...【详细内容】
2022-10-14  萌小翊  搜狐号  Tags:服务器   点击:(22)  评论:(0)  加入收藏
nginx 80端口重定向到443端口,也就是http访问自动跳转到https 配置如下:一、按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问...【详细内容】
2022-10-09  运维技术站  今日头条  Tags:重定向   点击:(74)  评论:(0)  加入收藏
站内最新
站内热门
站内头条