使用minio搭建私有化对象存储服务

爱谁谁
发布: 2025-09-13 08:33:07
原创
238人浏览过

在工作中,我们常常会接触到对象存储服务,但这些服务大多是云服务。对于需要对外开放的项目而言,这类服务是可行的。然而,当我们需要私有化部署时,如何继续使用对象存储呢?

这里介绍一个开源项目MinIO,使用它,我们可以轻松搭建属于自己的私有云服务。

MinIO是一个非常轻量级的服务,可以简单地与其他应用程序(如NodeJS、Redis或MySQL)集成。

安装(Linux平台)

# 下载
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 为了便于管理,我们将文件移动到/usr/local下
mv minio /usr/local/minio
# 修改权限
cd /usr/local/minio/
chmod 755 minio
登录后复制

接下来,我们先不进行任何配置,直接启动服务:

./minio server /data
登录后复制

启动后,我们可以看到输出,显示了默认的AccessKey和SecretKey分别是什么,以及访问地址,端口为9000。这些地址都是内网地址,如果需要公网访问,需要自己配置防火墙开放对应的端口,默认端口为9000。如果使用云服务器,需要在控制台修改安全组,添加一条安全策略。

在输出信息的最下面,还能看到一条警告,提醒我们检测到使用了默认的认证凭据,建议立即修改,并提供了两个配置项。

这里还需要说明一下,我们可以使用进程管理工具让其在后台运行。

Endpoint:  http://172.31.108.28:9000  http://127.0.0.1:9000
AccessKey: minioadmin 
SecretKey: minioadmin 
Browser Access:   http://172.31.108.28:9000  http://127.0.0.1:9000
Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide   
$ mc config host add myminio http://172.31.108.28:9000 minioadmin minioadmin
Object API (Amazon S3 compatible):   
Go:         https://docs.min.io/docs/golang-client-quickstart-guide   
Java:       https://docs.min.io/docs/java-client-quickstart-guide   
Python:     https://docs.min.io/docs/python-client-quickstart-guide   
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide   
.NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'
登录后复制

我们暂时先不修改任何配置,直接访问IP:9000看看效果。

使用minio搭建私有化对象存储服务

通过上面输出的提示我们知道默认的AccessKey和SecretKey是minioadmin,直接输入:

使用minio搭建私有化对象存储服务

这就是主界面了,点击右下角的加号,可以看到有上传文件和创建bucket的选项。

使用minio搭建私有化对象存储服务

先创建一个bucket,然后回车,选择对应的bucket,上传文件。

使用minio搭建私有化对象存储服务

到这里,我们对MinIO有了简单的了解,接下来我们要修改配置,因为默认的认证凭据是不安全的。

Booltool
Booltool

常用AI图片图像处理工具箱

Booltool 140
查看详情 Booltool

文档中提示(机翻自英文文档,中文文档已经很久不更新了,建议直接读英文):

您可以使用--config-dir指定现有配置的位置,MinIO会将config.json迁移到您的后端存储。成功迁移后,当前config.json将重命名为当前--config-dir中不推荐使用的config.json.deprecated。迁移后,所有现有配置都将得到保留。

此外,--config-dir现在是旧选项,计划在将来删除,因此请相应地更新本地启动和可访问的脚本。

/data/.minio.sys/config/config.json
登录后复制

默认的文件就是上面这个,不过新版本已经不建议直接改配置文件了,而是用环境变量来做配置:

export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio13
./minio server /data
登录后复制

其他的配置需要的时候再做说明,到这里简单的配置就完成了,至于其他的配置比如https,分布式部署,后面有机会再详细说明。

关于Bucket访问策略和阿里云bucket一样,这里的bucket同样可以设置只读,只写,读写。

使用minio搭建私有化对象存储服务

文件分享,默认的分享是有时间限制的,最大七天,可以通过下图看出来,如果想突破这种限制,可以在bucket中进行策略设置。点击对应的bucket,edit policy添加策略*.,Read Only,这样就可以直接访问了,没有时间限制,同时只需要按http://${MINIO_HOST}:${MINIO_PORT}/${bucketName}/${fileName}则可直接访问资源(不需要进行分享操作)。

使用minio搭建私有化对象存储服务使用minio搭建私有化对象存储服务

# 修改为策略之后可以直接这样访问,否则直接跳转到我们的登录界面(我们可以在配置里面关闭掉浏览器直接访问对象存储)
http://XXX.X.X.X:9000/test1/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200527140551.png
登录后复制

在HTML文件中作为静态资源来引用:

<img src="http://XXX.X.X.X:9000/test1/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200527140551.png"></img>
登录后复制

之后我会在后面的文章里使用PHP来进行文件操作,并且搭配ImageMagick以及FFmpeg来实现处理图片以及视频的需求。

参考资料:

Minio官方中文文档

利用 MinIO 轻松搭建静态资源服务

以上就是使用minio搭建私有化对象存储服务的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号