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

Centos7 搭建minio集群配合nginx做文件服务器

时间:2021-05-19 11:16:26  来源:今日头条  作者:运维菜鸟

一、准备机器

  1、准备四台机器,(minio集群最少四台)。

192.168.223.132 minio-1
192.168.223.133 minio-2
192.168.223.134 minio-3
192.168.223.135 minio-4

  2、编辑hosts文件,将以上内容添加到hosts中

vim /etc/host
Centos7 搭建minio集群配合nginx做文件服务器

 

  部署(所有机器均执行)
  以下的操作都需要在四台机器上执行

  3、创建挂载磁盘路径

mkdir -p /data/minio_data/

  4、挂载磁盘路径到文件系统
  注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会报错,还需要注意的是挂载的文件系统至少要1G不然无法初始化导致集群报错

  文件系统 容量 已用 可用 已用% 挂载点

[root@minio-1 minio]# df -h
文件系统                                容量  已用  可用 已用% 挂载点
devtmpfs                                470M     0  470M    0% /dev
tmpfs                                   487M     0  487M    0% /dev/shm
tmpfs                                   487M  8.4M  478M    2% /run
tmpfs                                   487M     0  487M    0% /sys/fs/cgroup
/dev/mApper/centos_hadoop--master-root   47G   12G   36G   25% /
/dev/sda1                              1014M  240M  775M   24% /boot
tmpfs                                    98M     0   98M    0% /run/user/0
tmpfs                                    98M   12K   98M    1% /run/user/42
————————————————

  5、将上面挂载磁盘路径挂载到相应的文件系统上

mount /dev/sda1 /data/minio_data/

  6、查看挂载信息

Centos7 搭建minio集群配合nginx做文件服务器

 

  7、创建minio目录

mkdir -p /opt/minio
cd /opt/minio/

  8、下载安装包

wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
wget https://dl.min.io/client/mc/release/linux-amd64/

  9、赋执行权限(根据情况,这里赋全部权限)

chmod +x minio mc

  10、创建启动脚本,编辑run.sh文件

mkdir /opt/minio && cd /opt/minio
内容如下:
cat > run.sh <<EOF
#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=Leo825#20210423
/usr/local/bin/minio server --config-dir /etc/minio --address "0.0.0.0:9000" http://192.168.81.235/minio http://192.168.81.236/minio http://192.168.81.237/minio http://192.168.81.234/minio
EOF

  11、赋执行权限(根据情况,这里赋全部权限)

chmod 777 /opt/minio/run.sh

  12、创建启动服务,创建minio.service启动脚本

vim /usr/lib/systemd/system/minio.service

内容如下:

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
#安装包路径
WorkingDirectory=/opt/minio/
#启动命令路径
ExecStart=/opt/minio/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

  13、启动测试(所有机器执行)

重新加载服务的配置文件
systemctl daemon-reload

启动minio服务
systemctl start minio

查看minio状态
systemctl status minio
[root@minio-2 ~]# systemctl status minio
● minio.service - Minio service
Loaded: loaded (/usr/lib/systemd/system/minio.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2021-01-31 17:22:54 CST; 17s ago
Docs: https://docs.minio.io/
Main PID: 2036 (run.sh)
Tasks: 8
CGroup: /system.slice/minio.service
├─2036 /bin/bash /opt/minio/run.sh
└─2039 /opt/minio/minio server http://192.168.223.232/data/minio_data/data1 http://192.168.223.233/data/minio_

关闭minio服务
systemctl stop minio

  14、访问地址

集群中的任何一台机器都可以访问:

http://192.168.223.132:9000/
http://192.168.223.133:9000/
http://192.168.223.134:9000/
http://192.168.223.135:9000/

  15、创建测试桶

Centos7 搭建minio集群配合nginx做文件服务器

 

  16、上传测试

Centos7 搭建minio集群配合nginx做文件服务器

 

  17、主机上可以查看到上传的文件

Centos7 搭建minio集群配合nginx做文件服务器

 

二、Nginx配置文件服务器访问

  1、执行命令

mc  alias set minio http://192.168.223.132:9000/ minio Leo825#20210423 --api S3v4
开启匿名访问
mc policy set public minio/sy01 

  2、web页面开启匿名访问

Centos7 搭建minio集群配合nginx做文件服务器

 


Centos7 搭建minio集群配合nginx做文件服务器

 

 3、http访问,sy01是桶名称,方便浏览器访问。

upstream minio-server{          
  server 192.168.6.124:9000 weight=25 max_fails=2 fail_timeout=30s;          
  server 192.168.6.125:9000 weight=25 max_fails=2 fail_timeout=30s;          
  server 192.168.6.126:9000 weight=25 max_fails=2 fail_timeout=30s;          
  server 192.168.6.128:9000 weight=25 max_fails=2 fail_timeout=30s;
}server {
   listen 8888;
   server_name 192.168.6.120;

   #To allow special characters in headers
   ignore_invalid_headers off;
   # Allow any size file to be uploaded.
   # Set to a value such as 1000m; to restrict file size to a specific value
   client_max_body_size 0;
   # To disable buffering
   proxy_buffering off;

   location /sy01/ {
      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_connect_timeout 300;
      # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      chunked_transfer_encoding off;

      proxy_pass http://minio-server;
    }

    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_connect_timeout 300;
      # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      chunked_transfer_encoding off;

      proxy_pass http://minio-server; # If you are using Docker-compose this would be the hostname i.e. minio
      # Health Check endpoint might go here. See https://www.nginx.com/resources/wiki/modules/healthcheck/
      # /minio/health/live;
    }
}

  4、https访问,minio是负载minio服务,sy01是桶名称,方便浏览器访问。

upstream minio-server{
        server 192.168.6.124:9000 weight=25 max_fails=2 fail_timeout=30s;
        server 192.168.6.125:9000 weight=25 max_fails=2 fail_timeout=30s;
        server 192.168.6.126:9000 weight=25 max_fails=2 fail_timeout=30s;
        server 192.168.6.128:9000 weight=25 max_fails=2 fail_timeout=30s;
}

server {
     listen 443 ssl;
     server_name  192.168.6.120;

     ssl_certificate /etc/nginx/ssl/192.168.6.120.crt;
     ssl_certificate_key /etc/nginx/ssl/192.168.6.120.key;

     location /sy01/ {
          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_connect_timeout 300;
          proxy_http_version 1.1;
          proxy_set_header Connection "";
          chunked_transfer_encoding off;
          proxy_pass http://minio-server;
   }

   location /minio {
      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_connect_timeout 300;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      chunked_transfer_encoding off;
      proxy_pass http://minio-server; 
   }  
}

  5、浏览器访问效果:

Centos7 搭建minio集群配合nginx做文件服务器

 



Tags:minio集群   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、准备机器  1、准备四台机器,(minio集群最少四台)。192.168.223.132 minio-1192.168.223.133 minio-2192.168.223.134 minio-3192.168.223.135 minio-4  2、编辑hosts文...【详细内容】
2021-05-19  Tags: minio集群  点击:(191)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条