通过宝塔建立MinIO服务并实现图床功能
通过宝塔建立MinIO服务并实现图床功能
MGRoid通过宝塔建立MinIO服务并实现图床功能
前置条件
- 已经安装宝塔面板的服务器:此步骤网上或者B站有很多
- 宝塔面板安装了Docker:安装很简单跳过
- 域名:若服务器在国内,则需要备案,否则不需要。
- 已安装PicGo:自行安装
步骤
1. 安装MinIO服务
- 在搜索框输入minio并点击安装
- 设置安装参数
选项说明: - 名称:默认即可,有强迫症改也行。
- 版本选择:默认
- 域名:这是提供Web服务器的域名,填入自己的域名,例如域名是myname.com,填入即可。建议设置二级域名,例如myminio.myname.com来实现域名复用性。
- 允许外部访问:不勾选,因为有域名就不需要,弄的话还得设置服务器安全组。
警告:若你的域名通过CDN匹配到服务器ip,则需要看其是否支持Websocket,如不支持则在查看对象桶时会一直处于Loading…,则需选择支持的CDN或者域名直接指向服务器ip。
- 允许外部访问:不勾选,因为有域名就不需要,弄的话还得设置服务器安全组。
- web端口和api端口:前者提供web服务,后者提供api服务,默认即可,当然你想改也行,不过通过域名访问也不用担心会被扫描,毕竟域名访问的是80端口通过反向代理不用暴露端口。
- 管理员用户和管理员密码:默认也行,可以设置自己喜欢的,忘记了也能查看。
- 会话持续时间:默认
- cpu和内存:我的服务器是2h2g,设置小了安装会出问题,默认即可。
2. 进行MinIO设置
通过上述设置的域名访问MinIO的Web服务,账户密码为上述设置的管理员用户和密码,忘记了点击Docker中的MinIO服务上的详情可看。(复制的前面有缩进,记得删除)
网站虽然是全英文的但是有Edge可以翻译,不过可能有些人用的是谷歌,所以就不翻译了
创建对象桶
对象桶名称会显示在图片的Url中,建议精简点,完成点击右下角创建。个人使用图床其它选项不用管,想了解的可自行搜索资料或者去MinIO官网查阅。
创建访问键
记住访问键其后续不可更改,用于上传图片,可下载保存。忘记了也没多大事,重新创建一个就是了。
确认访问键参数,其它参数可自行查阅资料。
点击对应对象桶进行设置
设置匿名访问策略,用于图片展示。
设置文件夹权限,若用/则是当前对象桶内全部文件。我习惯文件夹分类就按不同类型页面创建文件夹,好处在于方便管理,以及防止地址栏输入/时返回所有的图片信息的爬虫,虽然作用不大。
注意:设置路径后不要去改Summary页中的Access Policy:custom,此时它自行按文件夹权限设置了,若改的话得重新设置文件夹权限。
3.设置反向代理实现API接口
- 回到宝塔面板,添加反向代理,顺便一提下面那个是Web服务的域名。
- 反向代理参数如下,域名是你的域名,同理建议用二级域名(该域名可以用CDN,不需要Webscoket)。目标的含义是当前服务器下19000端口,按你的端口号设置即可。发送域名会自动填,不用管。备注自己填。
- 添加配置项解决反代后这个head请求转换的问题,感谢这个大佬做出的问题解决
1
2#禁用将“ HEAD”方法转换为“ GET”进行缓存。
proxy_cache_convert_head off;
4.设置PicGo图床
- 安装MinIO插件。搜索minio即可
- 设置minio插件显示
- 点击+新建图床
- 设置图床
选项说明: - 具体选项看:Herbertzz/picgo-plugin-minio (github.com)
- 图床配置名:用于自己看
- endPoint:MinIO的API域名,上述设置的一样即可
- port:端口号默认是80,参考宝塔面板中反向代理中域名管理的端口号即可。
- useSSL:勾选时则使用https进行传输,如果域名没添加SSL证书则不勾选。初次设置时不勾选的话,应该勾选再取消,避免点确认错误,想想可能是该选项的初始值没设置。
- 允许不安全的证书:出现证书错误时勾选,我倒是没碰到过这个问题。
- bucket:对象桶的名字
- 同名文件:注意,选择保留两者时,会根据是否有重名来重命名,但是我勾选上时不管是否有时都会重命名。
- 基础目录:文件存储的目录,我是设置了
/posts
为只读,所以它的次级文件夹都是可以被读的,如果填如/自定义
,需要确保该文件夹能被读。 - 自定义域名:用于复制显示的域名,如果域名添加了SSL证书可用https,没有则
http://MinIO的API域名
。 - 自动归档:yes表示开启,把上传的图片归档到当天日期目录下。我习惯按照帖子文件夹归档,所以不选择,还有一个好处是在相册的搜索中可按照帖子文件夹名字搜索。
- ……
- !!!:记得修改完点确认,如果确认后没跳转回图床设置页,检查上面内容是否有错误。
5.上传图片测试
- 没问题的情况
- 错误useSSL-检查SSL证书有没有问题
- 访问键错误-检查访问键是否正确
- 对象桶不存在-检查对象桶是否正确
- Url错误-检查Url是否错误
- 端口错误
- 其它-当我使用了443端口,却没开启useSSL时出现,当然也有其它问题会导致它出现。
6. 扩展
- SSL证书是否需要设置?
- 我觉得有时间搞一下也不是不错,反正域名商给的免费证书够用,而且展示的图片也可在浏览器中不会出现不安全的提示。
- 设置好后修改端口为443,且useSSL开启、
- 盗链是否需要设置?
- 个人站设置一下也不错,我用了CDN还是节省一下流量。
- 图片怎么不占空间?
- 使用saerasoft工具压缩为.webp格式即可,貌似安装后会自动设置为中文,操作也挺方便的。
- 压缩大小自己决定,我认为图片文字清晰且没噪点就行,大概60。
- 备份该怎么做?
/www/dk_project/dk_app/minio/你设置的minio服务名/data/对象桶名字
,备份该对象桶即可,恢复时放入data
文件夹- 并且应该可以通过特殊方法监听文件夹,并发送文件到某个地方实现备份,不过我没具体研究。
- 没域名可以使用吗?
- 可以,具体方法参考这个使用云服务器搭建个人图床,在不公开的笔记中用用还行,公开还是建议域名+CDN,降低服务器ip暴露风险。
- MinIO还有什么用?
- 当然是当网盘或者在线视频呗,不过服务器的网速决定下载速度,2M小水管还是别想了。