DIY 免费分布式存储:当 Gitee 掉线,如何自力更生?
2024-01-09 02:22:59
最近,Gitee 一系列令人头疼的举措引发了众多程序员的声讨。先是博客园关停,现在又是 Gitee 限制仓库公开,要求开源审核。这种种行为不禁让人怀疑,Gitee 是否已经被约谈?
对于程序员来说,Gitee 作为国内最大的代码托管平台,它的倒下无疑是一个重创。尤其是对于那些依赖 Gitee 托管图床的用户而言,辛苦搭建的图片资源毁于一旦。
好在,程序员们并非束手无策。开源社区中,有着众多优秀的分布式存储解决方案,能够帮助我们摆脱对 Gitee 的依赖,自己动手搭建免费的分布式存储服务。
技术指南
选择分布式存储解决方案
市面上有许多优秀的分布式存储解决方案可供选择,例如:
- MinIO:开源对象存储,与 Amazon S3 兼容
- Ceph:分布式文件系统和对象存储
- GlusterFS:开源分布式文件系统
对于个人搭建图床来说,MinIO 是一个不错的选择,因为它轻量级、易部署,且与 Amazon S3 兼容,可以直接作为 Gitee 图床的替代方案。
部署 MinIO
在服务器上部署 MinIO 非常简单,只需执行以下步骤:
- 下载 MinIO 安装包:https://docs.min.io/docs/minio-install-quickstart-guide
- 解压缩安装包:
tar -xvf minio.tar.gz
- 启动 MinIO:
minio server /my-data
其中,/my-data
是 MinIO 存储数据的目录。
配置 MinIO
配置 MinIO 以启用对象存储:
- 创建存储桶:
minio bucket make my-bucket
- 设置存储桶策略:
minio policy set my-bucket public
这样,你的 MinIO 存储桶就可以通过互联网访问了。
将图片上传到 MinIO
可以使用 MinIO 客户端工具或 RESTful API 将图片上传到 MinIO 存储桶:
- MinIO 客户端工具:
mc cp my-image.jpg my-bucket/images
- RESTful API:
curl -X PUT -H "Content-Type: image/jpeg" --data-binary @my-image.jpg "http://minio-ip:9000/my-bucket/images/my-image.jpg"
使用 MinIO 作为 Gitee 图床
在 Gitee 中配置 MinIO 图床:
- 在 Gitee 中新建一个仓库
- 设置仓库的
README.md
文件,将 MinIO 存储桶的 URL 作为图床地址
例如:
[外链图片转存失败(img-aOs5wh8O-1663972174591)]
其中,https://my-minio-ip:9000/my-bucket/images/my-image.jpg
是 MinIO 存储桶中图片的 URL。
现在,你就可以使用自己的分布式存储服务作为 Gitee 图床,不再受 Gitee 的限制。
结语
Gitee 的倒下对程序员来说是一个警示,提醒我们不能依赖单一的平台。通过自己搭建分布式存储服务,我们可以掌握数据的主权,避免因第三方服务中断而导致损失。开源社区中有着众多优秀的分布式存储解决方案,为我们提供了更多选择。希望本指南能够帮助大家搭建自己的免费分布式存储服务,告别对 Gitee 的依赖。