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

news2024/9/28 9:30:53

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://maxenton-pym.top/

image-20230412130838162

image-20230412130853856

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

显存不够用?一种大模型加载时节约一半显存的方法

Loading huge PyTorch models with linear memory consumption 本文主要介绍了一种用于加载巨大模型权重时节约接近一半显存的方法 首先,创建一个模型: import torch from torch import nnclass BoringModel(nn.Sequential):def __init__(self):super().__init__…

NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_实际操作_03---大数据之Nifi工作笔记0035

然后我们来操作一下首先创建一个处理器组名字是: MysqlToHive_timely 创建组以后我们进入这个组 然后我们先去添加CaptureChangeMySql这个处理器 拖入处理器以后,我们配置这个处理器 可以看到很多属性,这里我们配置 首先看这个Distrbuted Map Cache Client 这个客户端,我们先来…

ChatGPT聊天机器人程序

ChatGPT聊天机器人程序是一种基于人工智能技术的智能对话程序,利用ChatGPT等自然语言处理模型和算法实现与用户的交互,回答问题、提供服务等。 ChatGPT聊天机器人程序通常包括以下模块: 输入模块:用于接收用户输入的信息&…

vmware虚拟机上网设置教程(vmware虚拟机设置网络)

安装vmware后,一般都会有虚拟机能连互联网的需求(如虚拟机中Linux想访问百度),vmware为我们提供了几种连接网络的方式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模…

SpringBootApplication最详细注解

SpringBootApplication最详细注解SpringBootApplication的注解分类1.Target2.Retention3.Document4.Inherited5.SpringBootConfiguration6.EnableAutoConfiguration6.1AutoConfigurationPackage这个注解6.1.1 Import6.1.2 AutoConfigurationpackages.Registrar.class6.2 AutoCo…

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮。 这场风潮对数字世界产生了革命性影响。ChatGPT类模型具有惊人的泛用性&#xff0…

硬盘未格式化如何处理(硬盘忽然未格式化如何处理)

将硬盘插入电脑的时候为什么会出现“未格式化”的提示框呢?遇到这个问题时又该怎么处理呢?别慌,下面小编就来给大家演示一下子解决未格式化这个问题的解决方法。 硬盘未格式化如何处理工具/软件:sayRecy 步骤1:先百度搜索并下载程序打开后&…

一文吃透Java线程池——基础篇

前言 本文分为两部分。 第一部分是基础章节。可以帮助我们了解线程池的概念,用法,以及他们之间的的关系和实际应用。 第二部分是实现机制篇。通过源码解析,更深刻理解线程池的工作原理,以及各个概念的准确含义。 原本是一篇文章&…

ping不通的几种故障

网络ping不通是网络中出现频率最高的故障之一,同时也是最让人抓狂的故障,基本上大部分人都遇到过了,如果在项目中出现网络ping不通,没有一个有序的方法去排除解决,那么很难入手,也是讨论最多的问题之一&…

DNS(UOS)

安装DNS apt install bind9 nfsutils -y 切换目录 cd /etc/bind vim named.conf.defaults.zones 复制备份 cp -a db.local skills.net.zone cp -a db.127 146.16.172.in-addr.arpa vim skills.net.zone vim 146.16.172.in-addr.arpa vim /named.conf.options 重启bind9 …

javascript学习笔记

本笔记来源于B站尚硅谷javascript教程10.尚硅谷_JS基础_Null和Undefined_哔哩哔哩_bilibili 1、Null和None Null类型的值只一个,就是null; null这个值专门用来表示一个为空的对象; 使用typeof 检查一个null值时,会返回object; Undefined类型的值只有一个…

C++ 特性简化STM32 风格固件库的GPIO 操作,使用HK32F030M

所谓的STM32 风格就是指下面这种: // 开启时钟 RCC_AHBPeriphClockCmd( LED1_GPIO_CLK | LED2_GPIO_CLK, ENABLE);//定义初始化结构体 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType GPIO_O…

迭代器与仿函数

迭代器与仿函数一般分类功能方式分类STL迭代器的类型迭代器辅助函数流型迭代器仿函数仿函数的编写标准库中的仿函数一般分类 正向迭代器 容器名:iterator it begin() end() 2.反向迭代器 容器名:reverse_iterator it rbegin() rend() 3.常正向迭代器 容器…

MQTT 安全解析:构建可靠的物联网系统

物联网逐渐渗透到医疗保健、智能家居、智慧城市、自动驾驶等我们生活中的各个领域。这其中所涉及到的物联设备的安全也因此变得愈发重要。一旦物联网系统遭到恶意入侵,不仅海量设备数据将面临丢失、被窃取和篡改等安全风险,使用这些设备和物联网应用的终…

Githubs的使用方法(创建仓库\分支\提交【增删改查】\拉取与合并\管理与clone代码\修改分支等操作)

Githubs的使用方法 一、github基本使用 这一小节主要介绍github的基本使用方法以及每一步的流程和作用。 1. 创建仓库 2. 创建分支 此时有两个分支:main 和 readme-edits。 现在,它们看起来完全相同。 接下来,将向新分支添加更改。 3. 创…

Vue3 项目实例(一)ElementPlus+ pinia+vite创建

项目搭建 热重载:将一个项目切分成多个JS,同时利用浏览器的协商缓存。 etag: 文件唯一标识 如果某一片代码没有改变,devServer返回304,浏览器继续使用原来的文件,否则,返回200,响应新的js文件…

RK3568平台开发系列讲解(调试篇)IS_ERR函数的使用

🚀返回专栏总目录 文章目录 一、IS_ERR函数用法二、IS_ERR函数三、内核错误码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 IS_ERR 函数的使用。 一、IS_ERR函数用法 先看下用法: 二、IS_ERR函数 对于任何一个指针来说,必然存在三种情况: 一种是合…

知识图谱:Neo4j数据库的基本使用——创建张学良的关系谱

一、知识图谱及Neo4j数据库介绍 知识图谱(Knowledge Graph)是人工智能的重要分支技术,它在2012年由谷歌提出,是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体…

4.1派生类的概念

:为什么使用继承 所谓继承就是从先辈处得到属性和行为特征。类的继承就是新的类从已有类那里得到已有特征。这样做的目的是:减少代码的重复。 派生类的声明 声明派生类的一般公式 : class 派生类名:[继承方式] 基类名 { 派生类新增的数据成…

Java并发基石_CAS原理实战02_CAS实现原理

文章目录什么是CAS?CAS的实现原理是什么?cmpxchg指令怎么保证多核心下的线程安全?什么是ABA问题?如何解决ABA问题呢?什么是CAS? CAS,全称CompareAndSwap,比较并替换。 CAS包含了三个…