PicGo建立图床
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端口,配置防火墙规则,云服务器还需配置安全组规则,放行端口
创建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
选择适合你的版本,然后按步骤安装即可
安装插件时,电脑如果没有安装Node.js会安装不上,因此需要安装Node.js
Node.js 下载与安装
在 Node官网 上,下载对应的安装包
点击安装文件,开始安装 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
插件
在Obsidian第三方插件市场中搜索此插件
下载安装,启用后即可完成所有配置!目前插件设置非常简单只需要输入picGo服务端。
此后,直接粘贴图片,PicGo会自动完成上传图片->返回url地址->复制url地址到剪切板的功能。
注意:使用此功能时,必须保证PicGo已在后台运行。
PS:TinyPng图片压缩工具
如果你的图片太大了,为了节省空间你可以使用TinyPng压缩一下文件