java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > minio部署

Minio环境部署过程及如何配置HTTPS域名

作者:ktkiko11

MinIO 是一个对象存储系统,数据需要存储在宿主机上,容器的重启不影响数据,因此我们需要为 MinIO 创建一个挂载目录,用于持久化存储数据,本文详细介绍了如何部署MinIO,并通过配置反向代理和HTTPS来提升其安全性,感兴趣的朋友一起看看吧

概述

MinIO 是一个开源的对象存储服务器,用于存储和管理大规模的非结构化数据,例如图像、视频、日志文件、备份和容器镜像。MinIO 旨在提供高性能、高可用性、可扩展性和易用性的对象存储解决方案,适用于私有云、公共云和混合云环境。

以下是 MinIO 的主要特点和介绍:

一、前期准备工作:MinIO 部署

        在部署 MinIO 之前,确保我们完成了以下几个前期准备工作:

1. 创建挂载目录

mkdir -p /mnt/data/minio

这条命令会在 /mnt/data 目录下创建一个名为 minio 的文件夹,用来存储 MinIO 的数据。

2. 创建并配置 docker-compose.yml 文件

目的:docker-compose.yml 文件用于定义和配置 MinIO 服务,使得我们可以通过一条命令来启动服务。该文件会描述 MinIO 服务的所有配置项,包括端口、挂载目录、环境变量等。

操作步骤

在项目目录下创建 docker-compose.yml 文件,可以使用任何文本编辑器(如 vimnano)来创建并编辑:

vim docker-compose.yml

配置文件内容如下:

version: '3'
services:
  minio:
    image: minio/minio:latest  # 使用官方最新版本的MinIO镜像
    container_name: minio
    environment:
      - MINIO_ACCESS_KEY=your_access_key   # 设置MinIO的访问密钥
      - MINIO_SECRET_KEY=your_secret_key   # 设置MinIO的私密密钥
    ports:
      - "9000:9000"   # 将容器内的9000端口映射到宿主机的9000端口
    volumes:
      - /mnt/data/minio:/data   # 挂载宿主机的目录到容器内
    restart: always   # 容器异常退出时会自动重启
    networks:
      - minio_network   # 使用自定义网络
networks:
  minio_network:
    driver: bridge

总结

在 MinIO 部署的前期准备阶段,我们做了以下几件事:

二、部署过程:MinIO 部署

        在完成了前期准备工作后,我们可以正式开始部署 MinIO 服务。部署过程分为几个简单的步骤,下面会逐步讲解每一步的操作。

1. 启动 MinIO 容器

docker-compose up -d

2. 确保防火墙端口开放

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload

3. 验证 MinIO 启动

http://<你的服务器IP>:9000

例如:http://192.168.1.100:9000

4. 创建 Bucket

5. 上传图片文件

总结

通过以上步骤,我们成功地完成了 MinIO 的部署:

这样,我们就成功完成了 MinIO 部署的整个过程,可以在生产环境中使用它来存储文件。

三、配置 HTTPS 域名

        为了提高 MinIO 服务的安全性,我们可以为其配置 HTTPS,通过域名访问 MinIO 控制台。以下是详细步骤:

1. 准备域名

2. 配置 Nginx 反向代理

        为了将域名和 MinIO 服务连接,我们使用 Nginx 做反向代理,将请求通过 Nginx 转发给 MinIO 服务。

sudo yum install nginx -y

配置 Nginx 反向代理

打开 Nginx 配置文件,进行编辑:

sudo vi /etc/nginx/nginx.conf

在配置文件中,添加如下配置:

server {
    listen 80;
    server_name minio.example.com;  # 你的域名
    location / {
        proxy_pass http://127.0.0.1:9000;  # MinIO 服务的地址和端口
        proxy_set_header Host $host;
        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;
    }
}

解释:

重启 Nginx 使配置生效

sudo systemctl restart nginx

原因

3. 配置 HTTPS(SSL 证书)

为了保证 MinIO 服务的安全性,我们需要为其配置 HTTPS。可以使用免费工具如 Let's Encrypt 来申请 SSL 证书。

安装 Certbot(Let's Encrypt 客户端)

在 CentOS 上,使用以下命令安装:

sudo yum install epel-release -y
sudo yum install certbot -y

使用 Certbot 申请 SSL 证书

运行以下命令,申请证书:

sudo certbot certonly --nginx -d minio.example.com

解释:

配置 Nginx 使用 SSL 证书

编辑 Nginx 配置文件,启用 HTTPS:

server {
    listen 80;
    server_name minio.example.com;
    return 301 https://$server_name$request_uri;  # 强制 HTTP 重定向到 HTTPS
}
server {
    listen 443 ssl;
    server_name minio.example.com;
    ssl_certificate /etc/letsencrypt/live/minio.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/minio.example.com/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $host;
        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;
    }
}

解释:

重启 Nginx 使配置生效

sudo systemctl restart nginx

原因

总结

通过以上步骤,我们为 MinIO 配置了 HTTPS 和域名访问:

现在,你可以通过 https://minio.example.com 安全地访问 MinIO 控制台了。

四、总结

        在本篇文章中,我们详细介绍了如何部署 MinIO,并通过配置反向代理和 HTTPS 来提升其安全性。以下是整个过程的总结:

1. MinIO 部署步骤回顾

2. 配置 HTTPS

3. 完成部署后的验证

4. 常见问题与解决方法

结语

        通过本次讲解,我们掌握了 MinIO 的部署与配置过程,从挂载目录到配置 Nginx 反向代理,再到 SSL 证书的申请与配置,每一步都为 MinIO 服务的高效、安全运行提供了保障。现在,你可以通过 HTTPS 安全地访问 MinIO 服务,进行文件的上传、下载及管理。

到此这篇关于Minio环境部署过程及如何配置 HTTPS 域名的文章就介绍到这了,更多相关minio部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文