0%

自建图床(minio)

如果使用PicGo 先看一下支持哪些图床的插件:https://github.com/PicGo/Awesome-PicGo

基于SFTP && Nginx

起因:换了个服务器(2核2G,剩余内存200M),MINIO容器无法启动,但是Nginx正常,故使用Nginx范围直接访问服务器图片目录。由此引入问题,该如何上传?想到sftp,果然有插件picgo-plugin-sftp-uploader支持,

Nginx 设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server {
listen 19000 ssl http2;
root /mnt/data;
server_name liliangwei.net;

ssl_certificate "/etc/nginx/ssl/liliangwei.net_nginx/liliangwei.net_bundle.crt";
ssl_certificate_key "/etc/nginx/ssl/liliangwei.net_nginx/liliangwei.net.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

SFTP 安装与设置

安装插件

image-20240308111022875

配置插件

image-20240308111117315

配置文件如下,配置参数解读见:picgo-plugin-sftp-uploader

1
2
3
4
5
6
7
8
9
10
11
{
"llw": {
"url": "https://www.liliangwei.net",
"path": "/mypic/{fullName}",
"uploadPath": "/mnt/data/mypic/{fullName}",
"host": "www.liliangwei.net",
"port": 22,
"username": "",
"password": ""
}
}

基于MINIO

拉取并运行docker容器

  • MINIO_SECRET_KEY与MINIO_SECRET_KEY 改成你自己的
1
docker run -p 9000:9000 -p 42009:42009 --name minio1   -e "MINIO_ACCESS_KEY=USERNAME"   -e "MINIO_SECRET_KEY=PASSWORD"   -v /mnt/data:/data   -v /mnt/config:/root/.minio   minio/minio server /data  --console-address :42009

创建Bucket并设置为public

访问地址:http://[域名或者服务器IP]:42009

image-20220428081025517

image-20220428081058490

安装插件

image-20220428081156482

配置PicGo插件

  • accessKey与secreKey为第一步运行容器是设置的MINIO_ACCESS_KEY,MINIO_SECRET_KEY

  • bucker为第二步创建的的bucker的名字

  • 注意事项:上传端口与域名端口不是同一个,需要使用自定义域名

image-20230716003247838

图床迁移

图片下载到本地,用PicGo批量上传

image-20220428123418745

用VSCode或Notepad++对文件夹下所有文件批量图片URL修改前缀

image-20220428123524963