Typora PicGo MinIO 图床组合

此文章作者:轻描淡写 https://iseenu.icu/


引言:

​ 此文用于经常使用Markdown文章的用户,使用自己的服务器搭建博客和Markdown所需要的图床以便体验更好的博客服务;因此,所用的服务都是在VPS上进行部署.所使用的系统为Debian 10.x

​ 所需要的工具:

  1. Typora :Markdown编写软件下载链接 或者 Vscode安装Markdown插件
  2. PicGo :图床上传工具 PicGo下载连接
  3. Nginx:反射代理服务(可选)
  4. MinIO:对象存储服务,使用Docker快速部署
  5. Docker:容器服务,方便安装各种应用

安装Docker

每个人的操作系统不同,版本不同,在此不做详细的说明,自行Google/Baidu搜索Docker的安装方式

部署MinIO

此处需要注意***MinIO***的版本迭代很快,最新的版本存在一些问题所以使用比较旧的版本,也可以根据自己的需要决定选择那个版本.

  1. 拉取镜像

    docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z
    

 2. 部署Docker镜像,可以自己选择密码,用户名,映射路径;username:用户名,password:密码

```shell
docker run -d -p 9000:9000 --name minio 
-e "MINIO_ACCESS_KEY=username"  #用户名
-e "MINIO_SECRET_KEY=password"  #密码
-v /usr/pm/minio/data:/data     #文件存储路径
-v /usr/pm/minio/config:/root/.minio minio/minio:RELEASE.2021-06-17T00-10-46Z server /data
```

 3. 查看容器是否正常启动

docker ps -a

正常启动会看到MinIO的进程

image-20211011151742150

 4. IP:端口访问管理页面,用户名和密码都是第二步设置的

image-20211011152128764

 5. 新建Bucketimage-20211011152254659

 6. 上传一个文件试试,如果上传成功,这一步就完成了

设置PicGO

  1. 在PicGO上安装MinIO图床插件,安装插件需要先安装nodejs

  2. 插件设置中搜索MinIO,并安装

    image-20211011152820535

  3. 设置图床服务器路径

    image-20211011153157086

    endPoint:域名或者服务器的IP地址,域名支持`oss.xxx.com`二级域名或者`8.8.8.8`的IP;注意自己的域名DNS映射的IP和端口
    port:部署容器时的MInIO端口,注意放行防火墙[9000]
    userSSL:是否开启SSL,需要域名和SSL证书服务,没有的话就关闭
    accessKey:之前设置的用户名
    secretKey:之前设置的密码
    bucket:创建的桶名称
    
  4. 在左侧上传区随便上传一张图片试试是否成功

Typora连接到PicGO

  1. 打开偏好设置

    image-20211011153955824

  2. 图像--上传服务选择PicGo,路径选择PicGo安装的路径,.exe所在的那个目录

image-20211011154037622

  1. 测试上传结果验证图片上传选项,看到如下的提示则证明成功

    image-20211011154406833

    image-20211011154412290

Nginx反射配置域名开启SSL

  1. Nginx配置路径为/ect/nginx/conf.d

  2. 为自己的域名申请SSL证书,并配置好

  3. Nginx的配置内容

    # MinIO 443
    server {
      listen 80;
      listen 443 ssl;
      server_name oss.iseenu.icu;
      location / {
        proxy_pass http://localhost:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         client_max_body_size 100M;  
    }
      #自己的SSL证书路径
      ssl_certificate /etc/iseenu.icu.pem;
      ssl_certificate_key /etc/iseenu.icu.key;
      ssl_session_timeout 5m;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
      ssl_prefer_server_ciphers on;
    }
    
  4. 配置后,重新载入Nginx配置文件

    nginx -s reload
    
  5. 重新配置PicGo的MinIO选项

    endPoint:oss.iseenu.icu # 配置好的域名
    port:443 				# 开启SSL后的端口
    userSSL:				#配置了SSL选择开启
    accessKey:              #之前设置的用户名
    secretKey:				#之前设置的密码
    bucket:					#创建的桶名称
    

结束

服务器上使用Docker安装MinIO使其作为图床,让Markdown变得更加好用,为自己的博客增添一些扩展功能,也方便服务器数据的迁移

链接

此文章的PDF下载链接:https://oss.iseenu.icu/typora/2021/10/11/TyporaPicGoMinIO.pdf

Q.E.D.


纵我不往,子宁不嗣音?。纵我不往,子宁不来?