3人参与 • 2025-03-07 • https
minio 是一个开源的对象存储服务器,用于存储和管理大规模的非结构化数据,例如图像、视频、日志文件、备份和容器镜像。minio 旨在提供高性能、高可用性、可扩展性和易用性的对象存储解决方案,适用于私有云、公共云和混合云环境。
以下是 minio 的主要特点和介绍:
在部署 minio 之前,确保我们完成了以下几个前期准备工作:
/mnt/data/minio
)。mkdir -p /mnt/data/minio
这条命令会在 /mnt/data
目录下创建一个名为 minio
的文件夹,用来存储 minio 的数据。
目的:docker-compose.yml
文件用于定义和配置 minio 服务,使得我们可以通过一条命令来启动服务。该文件会描述 minio 服务的所有配置项,包括端口、挂载目录、环境变量等。
操作步骤:
在项目目录下创建 docker-compose.yml
文件,可以使用任何文本编辑器(如 vim
或 nano
)来创建并编辑:
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_access_key
和 minio_secret_key
:这些是用于访问 minio 的密钥,必须自定义。确保它们安全、唯一。ports
: 将容器的 9000 端口映射到本地机器的 9000 端口,方便我们通过浏览器访问。volumes
: 将挂载目录 /mnt/data/minio
与容器的 /data
目录进行绑定,确保容器重启后数据不丢失。restart: always
: 确保容器在异常退出时自动重启,增强服务的稳定性。docker-compose.yml
文件是配置和启动 minio 服务的核心文件。通过这个文件,我们可以控制 minio 容器的启动方式、端口映射、存储路径等设置,确保服务能够正确运行。总结
在 minio 部署的前期准备阶段,我们做了以下几件事:
docker-compose.yml
文件,定义了 minio 服务的配置和启动方式;在完成了前期准备工作后,我们可以正式开始部署 minio 服务。部署过程分为几个简单的步骤,下面会逐步讲解每一步的操作。
docker-compose.yml
文件,接下来需要通过 docker compose 启动 minio 服务。docker-compose.yml
文件的目录。docker-compose up -d
docker-compose up
是用来启动 docker compose 配置的容器服务的命令。-d
选项表示容器将以“后台模式”运行,也就是不会占用当前的终端窗口。docker-compose up -d
命令,我们启动了 minio 容器服务,并确保它在后台运行,不会阻塞终端。firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload
--add-port=9000/tcp
是告诉防火墙打开 9000 端口。--permanent
表示设置将持久化,即使重启防火墙也不会失效。--reload
是应用刚才的防火墙配置。http://<你的服务器ip>:9000
docker-compose.yml
中设置的 minio_access_key
和 minio_secret_key
(访问密钥和私密密钥)。my-bucket
,然后点击确认创建。my-bucket
)。总结
通过以上步骤,我们成功地完成了 minio 的部署:
docker-compose up -d
启动了 minio 服务。这样,我们就成功完成了 minio 部署的整个过程,可以在生产环境中使用它来存储文件。
为了提高 minio 服务的安全性,我们可以为其配置 https,通过域名访问 minio 控制台。以下是详细步骤:
minio.example.com
。为了将域名和 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; } }
解释:
server_name minio.example.com;
:将请求的域名指向你的 minio 服务。proxy_pass http://127.0.0.1:9000;
:指明 nginx 将请求转发到 minio 容器的 9000 端口。proxy_set_header
:这些配置确保 nginx 能正确地将请求头信息传递给 minio。重启 nginx 使配置生效:
sudo systemctl restart nginx
原因:
为了保证 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
解释:
certonly
表示只申请证书,不进行安装。--nginx
会自动为 nginx 配置 ssl 证书。-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; } }
解释:
server
块负责将所有 http 请求重定向到 https。server
块配置了 https,使用证书路径来启用 ssl 加密。重启 nginx 使配置生效:
sudo systemctl restart nginx
原因:
总结
通过以上步骤,我们为 minio 配置了 https 和域名访问:
现在,你可以通过 https://minio.example.com
安全地访问 minio 控制台了。
在本篇文章中,我们详细介绍了如何部署 minio,并通过配置反向代理和 https 来提升其安全性。以下是整个过程的总结:
docker-compose.yml
文件来配置 minio 服务,这让部署变得更加简便,能够自动化管理容器的启动、停止和日志等。通过本次讲解,我们掌握了 minio 的部署与配置过程,从挂载目录到配置 nginx 反向代理,再到 ssl 证书的申请与配置,每一步都为 minio 服务的高效、安全运行提供了保障。现在,你可以通过 https 安全地访问 minio 服务,进行文件的上传、下载及管理。
到此这篇关于minio环境部署过程及如何配置 https 域名的文章就介绍到这了,更多相关minio部署内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论