生命在于折腾——PicGo+Minio+Typora图床搭建

image-20230410132448596

好久没更新了,前段时间太忙了,还有些摆烂,所以,嗯,懂得都懂,写这篇博客前一天我还在椅子上坐了两个小时,思考人生的意义。

话不多说,开始吧。

一、起因

因为好久没管过博客,所以不知道博客最近什么情况,突然有一天,朋友发来了消息:

image-20230410132735368

我才发现博客的图片嘎掉了,我找了一下原因,发现csdn的图片不能外链访问了,很(ke)好(wu)。我承认我一直把csdn的博客系统当做图床来使,啊哈哈,没办法,只能妥协,便考虑了图床。

二、图床选择

我之前了解过很多图床,这里不做推荐,主要是:能免费就免费。

刚开始我选择的是Lychee图床,但Typora不支持,所以就换掉了,没有使用,Lychee图床搭建的话后面我再写一篇吧。

所以我选择了PicGo(因为Typora支持)以及Minio(docker快捷)配合我的Typora和hexo使用。

三、操作环境

本机:Macbook Air(M2)MacOS:13.2

本机环境:配置好的hexo和安装好的PicGo、Typora。

VPS:百度云服务器(1核2g)

VPS环境:安装好的docker。

四、上菜

1、配置docker,启动Minio

(1)拉取Minio最新镜像

docker pull minio/minio

(2)容器启动MinIO实例

docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=xxx" -e "MINIO_SECRET_KEY=xxxxxxxx" -v /home/data:/data -v /home/config:/root/.minio minio/minio server --console-address ":9000" --address ":9001" /data

ps:9000端口是控制台使用,9001端口是API使用,MINIO_ACCESS_KEY=xxx这里设置登录的用户名,MINIO_SECRET_KEY=xxxxxxxx这里设置登录的密码,/home/data是宿主机映射目录卷,/home/config是宿主机映射配置文件目录卷。

用户名至少3位,密码至少8位。

(3)配置MinIO

现在可以通过ip:9000去访问了:

image-20230412121217099

输入账号密码,进入管理界面,点击左边的Buckets,右面新建一个Bucket:

image-20230412121459803

输入名字,点击Create Bucket即可:image-20230412121542504

点击刚刚创建好的Buckets,进入配置,点击最下面Anonymous:

image-20230412121712592

然后添加一条规则:

image-20230412121736787

设置一个名字,然后更改权限位readwrite:

image-20230412121812123

接着返回buckets的主页,点击access policy下的private:

image-20230412121901748

更改为public,然后点set:

image-20230412121925131

接下来配置access key,点击左边菜单栏的Access Keys,新建一个key:

image-20230412122028599

记住这两个key,然后点击create:

image-20230412122055789

2、配置PicGo

(1)安装PicGO

我在Typora可以直接下载:

image-20230412122240367

(2)安装MinIO插件

可以科学后在插件里面搜索Minio,然后安装,也可以在github上安装:

image-20230412122327324

github我没有试过,可参考其他教程。

(3)配置PicGo

安装好MinIO插件后,在图床设置里面就可以看到MinIO图床了,添加一个,然后配置:image-20230412122426569

image-20230412122537615

可以上传一张图片验证一下。

3、配置Typora

在Typora设置里,点击图像,上传服务选择PicGo.app,然后点击验证图片上传选项,出现正常即可使用:

image-20230412122710133

image-20230412122725427

五、遇到的问题

如果你是使用Hexo+Github部署的,那么图床部署完成后,本地是可以看到图片正常显示的,但github部署后看不到,原因是:Github搭载后,是使用https服务的,而我们的minio的图片是http服务,就需要开启Minio的HTTPS服务,就需要证书设置。

我是使用官方的certgen.exe生成的证书,生成两个文件,上传到服务器一个目录下,然后使用docker指定证书目录,再启动了一个MinIO服务,换了一个端口,然后通过HTTP服务的MinIO上传图片,HTTPS服务的MinIO显示博客。

六、博客地址

https://qianxin.site/

image-20230412130838162

image-20230412130853856

有什么问题可以留言或私信。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Spring Boot集成Minio工具类的步骤如下: 1. 添加Minio依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>RELEASE.2021-06-17T22-59-28Z</version> </dependency> ``` 2. 配置Minio连接信息 在application.properties文件中添加以下配置: ``` minio.endpoint=http://localhost:900 minio.accessKey=minioadmin minio.secretKey=minioadmin minio.bucketName=test ``` 3. 创建Minio工具类 创建一个MinioUtil类,用于封装Minio的操作方法,例如上传文件、删除文件等。 ``` @Component public class MinioUtil { @Value("${minio.endpoint}") private String endpoint; @Value("${minio.accessKey}") private String accessKey; @Value("${minio.secretKey}") private String secretKey; @Value("${minio.bucketName}") private String bucketName; private MinioClient minioClient; @PostConstruct public void init() throws Exception { minioClient = new MinioClient(endpoint, accessKey, secretKey); if (!minioClient.bucketExists(bucketName)) { minioClient.makeBucket(bucketName); } } public void uploadFile(String objectName, String filePath) throws Exception { minioClient.putObject(bucketName, objectName, filePath, null); } public void deleteFile(String objectName) throws Exception { minioClient.removeObject(bucketName, objectName); } public String getFileUrl(String objectName) throws Exception { return minioClient.presignedGetObject(bucketName, objectName); } } ``` 4. 使用Minio工具类 在需要使用Minio的地方,注入MinioUtil类,调用其方法即可。 ``` @Autowired private MinioUtil minioUtil; public void uploadFile() throws Exception { minioUtil.uploadFile("test.jpg", "/path/to/test.jpg"); } public void deleteFile() throws Exception { minioUtil.deleteFile("test.jpg"); } public String getFileUrl() throws Exception { return minioUtil.getFileUrl("test.jpg"); } ``` 以上就是Spring Boot集成Minio工具类的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易水哲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值