华人澳洲中文论坛

minio集群将所有拜候都交给nginx

[复制链接]

2022-9-5 06:46:39 113 0

问题
个别在正式的环境下,经过给域名添加子门路(如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零碎,十分好用。保举大家尝试。上个图:




发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
中级会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题42

帖子51

积分239

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小