docker部署minio,并将wordpress媒体库存储到minio

注意

单机部署minio是没有太大意义的,请勿用于生成环境,生产环境还是采用分布式部署;我图方便,不想用图床来做blog的图片,所以直接用了对象存储。

什么是minio

MinIO 是一款轻量、开源的高性能对象存储,是为海量数据存储、人工智能、大数据分析而设计的,它完全兼容Amazon S3接口,单个对象最大可达5TB,适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。MinIO主要采用Golang语言实现,客户端与存储服务器之间采用http/https通信协议。

docker单机部署minio

在dockers上部署minio是很简单的,我这里使用ubuntu操作系统,在home目录下新增了data目录,部署方式如下

docker run  -p 9000:9000 -p 9191:9191 --name minio \
 -d --restart=always \
 -e MINIO_ACCESS_KEY=admin \
 -e MINIO_SECRET_KEY=password123 \
 -v /home/data:/data \
 -v /home/data/config:/root/.minio \
  minio/minio:RELEASE.2023-12-20T01-00-02Z server /data  --console-address ":9000" --address ":9191"

配置说明

MINIO_ACCESS_KEY 用户名
MINIO_SECRET_KEY 密码
/home/data:/data 数据在本地的存储路径
/home/data/config:/root/.minio 配置文件的本地存储路径
console-address ":9000" web控制台的端口号,左边的可以自定义
address ":9191" API端口号,左边的可以自定义
minio/minio:RELEASE.2023-12-20T01-00-02Z 我习惯用这个版本

使用浏览器访问http://IP:9000 minio的web管理页面

输入刚才配置的用户名和密码即可正常登录控制台

配置反向代理

配置反向代理

为了安全考虑,我这里使用反向代理来访问minio,因我内网有群晖设备,群晖DSM本身就自带有反向代理功能,功能上和Nginx反代其实大同小异,我图个方便,如果你部署Ngnix有难度,可以考虑用docker部署NPM,这个反向代理工具支持docker部署,使用相当的方便。

打开群晖“控制面板”——“登录门户”——“高级”——点击“反向代理服务器”——点击“新增”
这里只需要新增API端口号“9191”的访问,当然图管理方便也可以开放9000端口,我这里9000和9191端口都开放了

点击“自定义标题”——“新增”——“websocket”,新增websocket后保持默认即可,没有新增websocket,可能后导致反代后Minio的Object Browser内容一直转圈无法正常浏览。

配置https证书

我的群晖之前已配置了证书,我这里不在赘述群晖证书配置,可以自行搜索群晖配置证书相关。

打开群晖“控制面板”——“安全性”——“证书”找到你的证书,并几点配置,将新增9191端口配置为群晖的证书。

使用浏览器访问反向代理的URL地址,已经可以正常访问了。

新增Buckets

点击“Buckets”——输入“Buckets name”——点击“Create Buckets”,创建一个新的Buckets

点击刚才创建的Buckets,将“Access Policy”修改为“Public”,并点击“Set”保存

新增用户

点击“Identity”——“USERS”——“Create User” 新增一个用户

点击已创建的用户名,“Group”选择已创建号的组,没有的话,可以新增一个,创建的组的过曾和新增用户基本一样,不再赘述。

点击“Server Accounts”——“Create Access Key”创建密钥

点击“Create”创建,并下载密钥信息到本地,记住,该密钥只显示一次。

测试Minio服务是否可用

本来想用群晖自带的Cloud Sync来测试是否可用,但多次测试后均无法成功,以至于我怀疑是不是我部署的Minio有问题,后面索性直接用了RaiDive的客户端,具体配置如下:

注意:在配置选项里选择“AWS S3 Compatible”,RaiDive的配置选项有minio,但不知道为啥一直无法连接,但选择S3配置就正常了。

可以看到,刚才配置的Buckets已可以正常访问。

自此,Minio服务器已完成配置。接下来,我们配置wordpress,以便使用我们部署的的对象存储服务。

wordpress配置minio对象存储

wordpress配置对象存储是非常容易的,在wordpress的插件内查找“media cloud”,并安装该插件。

安装完成后,点击Media Cloud Setting选项。按照下图的配置填入刚才配置Buckets的相关密钥信息。

测试配置是否生效

在wordpress的媒体库内上传一张名为“test”的图片

登录Minio后查看Buckets的,已经可以看到刚才上传的那张图片了。

自此,整个Minio的安装和使用过程已全部完成,哦耶!!!!!!!!!!

Related Posts

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注