zoukankan      html  css  js  c++  java
  • 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进图片即可验证上传和浏览效果

  • 相关阅读:
    RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库
    Pop–实现任意iOS对象的任意属性的动态变化
    界面传值失败
    UIImagePickerController
    NSURLSession
    iOS图标尺寸
    cocoapods
    duplicate symbol _OBJC_IVAR
    MAC升级openssl
    Mac
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/14459630.html
Copyright © 2011-2022 走看看