【服务器】Minio 安装与使用

介绍一下基于 1Panel 面板的 minio 安装与配置方法,测试了在 1Panel 面板添加自托管的 minio 作为定期备份的存储。

在应用商店安装 minio。用户密码是超级管理员的,在 web ui 登录中使用。之后会使用超级管理员创建普通用户,也可以登录 web ui,所以这里改不改都行。

默认端口初次安装不要改,1Panel 改端口不彻底。

然后在防火墙放行 9000(支持 S3 的应用使用 id 与 key 通过 api 访问)和 9001(后台管理 web ui)。面板中点击服务端口 9001,会自动在浏览器中打开网站。如果网站自动输入的是 127.0.0.1:9001,可以先把服务器地址改成公网 IP。

在 web ui 界面,输入超级管理员用户名和密码登录。忘记了,可以在点击参数查看。

如果能访问页面,先不着急加反向代理。登录后,貌似不能切换中文,可以查看监控,看到有没有开启分布式存储,硬盘数量和存储空间。

创建一个 Bucket (桶,类似命名空间)。

修改地区(可选)

创建用户,之后用这个普通用户来登录,只给RW读写以及查看监控的权限。

进入创建的用户。也可以退出当前超级管理员的登录,重新以普通用户的身份登录。

给普通用户创建凭证。自动生成直接确定即可。

选择下载 Json 文件

记得下载 Json 文件

{"url":"http://127.0.0.1:9000","accessKey":"O4LIe6dx0gOvlwqZoIX","secretKey":"unCLAFAZzkuZbkLDETEtq0Y323iFcGGz7hJdOfQ","api":"s3v4","path":"auto"}

发现 url 是回环地址 + api 端口,不是服务器域名,也不是域名,所以需要等一下修改。

在 1Panel 中找到面板设置与备份账号,添加一个 Minio 账号。

输入 ID、Key 与 http 即可,Bucket 测试一下能不能自动获取。备份目录是 Bucket 下的路径,可以起一个名,区分是哪台服务器。比如 Bucket 是 test,备份目录是 /H,那么就会将应用 A 存储在 test 桶下的 /H/A 目录下。

发现可以成功添加

添加一个计划任务,选择备份应用。以 wordpress 为例。

确认后,手动执行一次。等待上传结束。

在桶中可以找到刚才的备份文件。

右侧可以下载或者分享下载链接,但是下载链接中也是回环地址加端口 127.0.0.1:9001,9001 是 web ui 端口。注意到分享文件使用的端口和 api 连接使用的端口不同。

接下来来处理这个问题,在 docker-compose 文件中修改 MINIO_SERVER_URL 与 MINIO_BROWSER_LOGIN_URL 改为域名。

点击确认然后重建 docker 容器生效。之后需要使用凭证的应用填写 MINIO_SERVER_URL 即可。分享的下载地址也会使用 MINIO_SERVER_URL,可以给别人使用。

注意重建后,下载的 Json 文件中 url 会变成 MINIO_BROWSER_LOGIN_URL 加其他怪的链接,不知道是不是 bug,像是 1Panel 计划任务需要填写 MINIO_SERVER_URL!

总结一下,如果要用 https,则需要给 minio 准备两个子域名:

  • 用 MINIO_BROWSER_LOGIN_URL 指定,提供 web ui 服务,在浏览器中使用。同时分享的文件下载链接也是用这个域名;
  • 用 MINIO_SERVER_URL 指定,用于 api 服务。使用凭证 id 与 key 连接,提供给 1Panel/lsky/harbor 这样的支持 S3 的应用,进行文件读写。
  • 1Panel 面板对 minio 的支持目前不是很好,像域名、分布式存储等功能,需要自己调整 docker-compose 文件。
上一篇
下一篇