为什么要使用图片服务器?把图片放到本地不就好了? 项目小的时候,这样做当然没有问题;项目大了服务多了,还这样做问题就出来了。比如:
需要使用缩略图,各个带图片的服务需要自己实现缩略图功能。
服务引用其他服务图片时,确认使用哪个域名是个问题(测试环境域名?生产环境域名?换域名了更麻烦)。
各服务的承载服务器都要留出放图片的空间,不易管理。
研发没有服务器的权限,想管理图片时只能找 IT 部门。
……
那我们 .Neter 适合做一个什么样的图片服务器呢?之前自己写过图片服务器,只是简单的把图片存起来,需要缩略图的时候读取出来,裁一下。但是研究了各种方案后,还是觉得 Minio + ImageProxy 的方案是最好的,效率、扩展性、学习曲线几个方面都很好。如何快速在项目中集成这一方案呢?真的能在五分钟内集成吗?真的能,不信您数着。
先介绍一个开源项目 MinioEx 是本人写的一个对 Minio 的一个非常简单的扩展。
https://github.com/zl33842901/MinioEx
下面我们就跟着项目的 ReadMe 文档,在五分钟内把图片服务器集成到项目里吧。计时开始!
第一步,下载镜像、下载工具。
假设现在您有一台 IP 为 172.16.250.147 的 Linux 服务器,已经安装了 docker。那么需要在上面把 Minio 和 ImageProxy 安装起来。如果您不想使用图片缩略功能,那么 ImageProxy 不是必须的。