对由兴趣驱动的小站长来说,COS和OSS虽然不算贵但容易被刷而产生额外费用,所以借此记录用自己的服务器建立对象存储的过程。
以下内容均以无Docker环境下的Ubuntu 24.04.1 amd64系统演示,其它系统食用方法类似。
部署MinIO
由于官网提供下载文档的链接为商业版,且2025年5月的一次更新把WebUI管理界面几乎砍废了,故此处下载最后一个未被阉割WebUI界面的版本。
如果使用官方提供的deb包,则需要:
# 从境内服务器下载旧版本deb包
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/archive/minio_20250422221226.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
但是这样操作必须使用sudo提权,咕咕此处也从官方旧版本包里提取了独立文件,运行无需root权限。以下都以独立文件的方法进行演示。
# 下载独立的文件
wget https://p0-v-icm.api.crrashh.com/ly2F9E_VrA/minio-RELEASE.2025-04-22T22-12-26Z-amd64 -O minio
chmod +x ./minio
然后,通过环境变量设置后台用户名和密码启动MinIO。
export MINIO_ROOT_USER=<用户名>
export MINIO_ROOT_PASSWORD=<密码>
./minio server <用于存储的路径>
如果不想要默认端口,也可以使用 --address :<访问存储端口号>
和 --console-address :<访问后台端口号>
参数进行更换。
如果有BT或1Panel之类的面板,也可以直接像这样添加项目,保证持续运行而不被清理。
进入console-address指定的端口,登录后即可进入后台。
点击Buckets→Create a New Bucket即可创建新的存储桶了!
注意:如果将存储桶Access Policy设置为Public,则会展示其目录下所有文件。如果不希望列出文件,那么可以添加自定义策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::存储桶名称/*"]
}
]
}
(小声bb:其实自己也尝试过在无Docker环境使用最新版MinIO+OpenMaxIO方案,不过多次都以失败告终,苦呀西TT,但是Docker部署的方法烂大街就没啥必要补充了,以上p1和p2就是在测试最新版截出来的图)