markdown blog Typora+minio+upic图床改造

权衡各种选型和匹配,和个人熟悉程度,目前的选择Typora+minio+upic的方案

minio的图片加载,通过nginx 做ssl https,http2

gui选择Typora,之所以选择Typora,最大痛点是图片自动上传,懂得都懂,也是本篇主要的部分

服务端

  • 1 基础服务启动minio

mkdir /data/pv/minio

docker run -d --name minio -p 9001:9001 -e "MINIO_ACCESS_KEY=minio_key" -e "MINIO_SECRET_KEY=minio_key_passwd" -v /data/pv/minio:/data minio/minio --address :9001

这是个人的命名习惯,pv一级主要是给k8s PersistentVolume用的,样例只是单点,集群有机会介绍
默认的minio公开端口配置是9000,有和其他服务冲突的可能性,也提供了变更port的样例

  • 2 配置nginx 并启动(未选择docker启动)

添加nginx配置www.github.com替换为自已的域名,个人的ssl证书是Certbo验证的,有证书的应该对nginx的证书配置很熟悉,按自已的配置即可

/etc/nginx/conf.d/minio.conf

server {
	  listen 59173 ssl http2;
    server_name rpi.cuidp.top;
    ssl_certificate /etc/letsencrypt/live/cuidp.top-0002/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/cuidp.top-0002/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    location ~^/note {
       proxy_buffering off;
       proxy_set_header Host $http_host;
       proxy_pass http://127.0.0.1:9001;
    }
}
测试

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

启动

nginx -s reload

Screen Shot 2021-01-12 at 11.29.51 AM

客户端

Typora 图片上传插件配置

https://support.typora.io/Images/#when-insert-images

Screen Shot 2021-01-12 at 11.24.18 AM

因为ipic收费,而自定义脚本,写代码,对非开发人员不友好,个人也懒得花精力搞,这里选择upic

upic使用中有一些小bug,但使用问题不大,有时候菜单栏(menu bar)看不到图标,强制停止upic服务再重启即可


upic

下载安装 https://github.com/gee1k/uPic

目前个人使用的版本是v0.21.1

重点是upic client的配置,客户端和服务端的配置花了个人比较多的时间

两个问题/需求点

  • 1 web可访问,这里需要加一及nginx代理,官方有配置,但比较精简,只可用来查看的,无法上传 https://docs.min.io/docs/setup-nginx-proxy-with-minio.html

  • 2 https化,纯http的很好搞,可以直接访问minio的9001端口,但个人站点也已经全面https的,https站无法引用http站的资源,upic上传后必须返回https

    最理想的情况是https上传,https浏览,个人简单试了下https上传,直接上传失败,暂无精力深究

    目前的情况是上传直接访问minio服务,通过https浏览通过nginx+ssl实现(web可显示)

https://github.com/gee1k/uPic/releases/tag/v0.20.0 upic新版本移除了minio的支持,需使用s3访问minio

重构 Amazon S3 图床,使其支持第三方 S3 协议服务。
移除单独 MinIO 图床,可采用 S3 自定义实现。
自定义图床优化 Content-Type。

以个人的服务为例,上传通过,而返回地址例如 https://rpi.cuidp.top:59173/note/uPic/Screen Shot 2021-01-12 at 11.29.51 AM.png

S3访问minio,http上传,https加载的配置如下

Screen Shot 2021-01-12 at 11.29.51 AM

Typora 编写,copy进图片即可验证上传和浏览效果

原文地址:https://www.cnblogs.com/zihunqingxin/p/14459630.html