1、部署对象存储minio

Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

docker部署

一、拉取镜像

docker pull minio/minio

二、安装程序

创建minio用户

useradd minio

docker run

docker run -d \
  --name minio-server \
  -p 9000:9000 \
  -p 9001:9001 \
  -v /home/minio/etc/localtime:/etc/localtime:ro \
  -v /home/minio/etc/timezone:/etc/timezone:ro \
  -v /home/minio/data:/data \
  -v /home/minio/config:/root/.minio \ 
  -e MINIO_ROOT_USER=admin \
  -e MINIO_ROOT_PASSWORD=xxxxxxxxxxxxxxx \  
  --restart=always \  
  minio/minio server /data --console-address ":9001"

选项

-v /wz_conf/minio/data:/data 挂载数据目录
-v /wz_conf/minio/config:/root/.minio 挂载配置目录
-e MINIO_ROOT_USER=admin 配置登陆用户名
-e MINIO_ROOT_PASSWORD=admin 配置登陆密码
–console-address “:9001” 服务端口为9001

docker-compose.yaml

[root@10-60-181-57 minio]# cat docker-compose.yaml 
version: '3'
services:
  minio-server:
    image: minio/minio
    container_name: minio-server
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - /home/minio/etc/localtime:/etc/localtime:ro
      - /home/minio/etc/timezone:/etc/timezone:ro
      - /home/minio/data:/data
      - /home/minio/config:/root/.minio
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: xxxxxxxxxxxxxxx
    command: server /data --console-address ":9001"
    restart: always

nginx.conf

    server {
        listen 443 ssl;
        server_name minio.nerubian.cn;

        access_log  /home/minio/logs/minio.log;
        error_log   /home/minio/logs/error.log;

        ssl_certificate     /etc/nginx/ssl/_.nerubian.cn.pem;
        ssl_certificate_key /etc/nginx/ssl/_.nerubian.cn.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location  / {
            proxy_pass  http://127.0.0.1:9001/;
        }
    }
    server {
        listen  80;
        server_name  minio.nerubian.cn;
        return 301 https://$host$request_uri;
    }

https://blog.csdn.net/qq_26709459/article/details/140691183

https://www.cnblogs.com/Lcsxx/p/18569627

常规部署

创建minio目录

用于存放Minio可执行文件

mkdir /usr/local/minio

下载minio

# 进入到/usr/local/minio

cd /usr/local/minio

# 执行下载

wget https://dl.min.io/server/minio/release/linux-amd64/minio

# 授权下载文件为可执行文件

chmod +x minio

创建存储目录

# 新建data存储目录

mkdir -p /home/minio/data

# 新建log目录

mkdir -p /home/minio/log

# 创建日志文件

touch /home/minio/log/minio.log

# 授权

chmod -R 777 /home/minio/data
chmod -R 777 /home/minio/log

启动minio

cd /usr/local/minio

# 修改登录用户名、密码

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin

# 后台启动,指定data存储目录和日志目录

nohup ./minio server /home/minio/data --console-address :9090 >/home/minio/log/minio.log 2>&1 &

访问minio控制台

访问http://IP:9001,启动日志会显示控制台端口,以及API端口,配置防火墙规则,云服务器还需配置安全组规则,放行端口

1

创建buckets

选择Buckets,点击Create Bucket

修改buckets权限

点击你创建的buckets,修改Access Policy,改为Public

上传图片

选择Object Browser,进入你创建的buckets,点击Upload

访问图片

输入API地址http://IP:9000/image/xxxx.png,查看图片是否显示成功

创建用户

创建accesskey

2、下载并设置PicGo

PicGo是一个文件上传工具,在GitHub中下载

下载安装PicGo

选择适合你的版本,然后按步骤安装即可

image-20250120132537439

安装插件时,电脑如果没有安装Node.js会安装不上,因此需要安装Node.js

Node.js 下载与安装

Node官网 上,下载对应的安装包

image-20250120133305436

点击安装文件,开始安装 node.js

更改好安装路径后,一直下一步即可。
点击 Install (安装)
点击 Finish,完成安装
使用 window + R 快捷键,启动 cmd命令行 验证 node.js 是否安装成功

配置环境

当前已经完成了 node.js 的安装。即使不进行此步骤的环境变量配置也不影响node.js的使用
配置环境的作用如下:若不进行环境变量配置,那么在使用命令安装 node.js全局模块 (如:npm install -g vue)时,会默认安装到C盘的路径 (C:\Users\hua\AppData\Roaming\npm) 中,此处为方便,没有配置环境,详细配置环境的步骤可以参考上文链接。

安装minio插件(minio)

选择插件设置,搜索minio,点击安装

配置minio

选择图床设置,选择MinIO图床,进行相关配置

参数释义配置
图床配置名用于区分多个上传配置minio
endPoint必选 - Minio服务API访问的域名minio.nerubian.cn
port必选 - Minio服务API访问的端口9000
useSSl可选 - 使用SSL时打开no
accessKey必选 - Minio服务用户名或该用户的accesskey
secretKey必选 - Minio服务密码
bucket必选 - 自建的buckets名称
同名文件默认 - 当文件名重复时设置的策略跳过
基础目录可选 - 自定义子目录文件夹
自定义域名可选 - 图片上传成功后,返回的链接为域名 - 可查看教程后面的扩展操作
自动归档默认 - 可选择开启,PicGo程序会自动帮你按照yyyy/MM/dd的格式归档

配置PicGo

PicGo配置可参考PicGo使用文档

上传图片

通过PicGo上传图片,登录到Minio控制台,检查是否上传成功,成功之后就可以使用你自己的图床啦

配置域名

如果自己有域名,可以通过nginx配置自己的域名,配置成功后将IP端口直接替换成域名就行了

3、设置Typora

设置好之后,可以点击验证图片上传选项测试是否能正常上传

这样就可以将本地图片直接粘贴到md文件中,Typora会帮我调用PicGo然后上传文件,并且返回我们设置好的文件链接。

直接从剪切板粘贴的图片Typora无法上传到图床,需要我们先保存到本地,然后粘贴到md文件当中。
如果有朋友知道怎么能让Typora直接上传剪切板粘贴的图片,可以在评论区说说
但是PicGo可以直接上传剪切板中的图片。

4、设置Obsidian

安装 Image auto upload 插件

Pasted image 20250120131445

在Obsidian第三方插件市场中搜索此插件

下载安装,启用后即可完成所有配置!目前插件设置非常简单只需要输入picGo服务端。

image-20250120132946940

此后,直接粘贴图片,PicGo会自动完成上传图片->返回url地址->复制url地址到剪切板的功能。
注意:使用此功能时,必须保证PicGo已在后台运行。

PS:TinyPng图片压缩工具

如果你的图片太大了,为了节省空间你可以使用TinyPng压缩一下文件

https://tinify.cn/

image-20250120133039995