添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

  1. Typora: 一款非常好用的markdown编辑软件
  2. upic:一款图床客户端
  3. minio:开源文件存储服务器
  4. nginx:反向代理

typora是一款及其优秀的markdown软件,什么都好,唯一的痛点就是图片插入问题。

对于先在typora写好文章,再在博客copy发布的情况,每次都需要手动一张张上传图片(用的typecho),体验是真的很差

所幸,后面typora开始支持自动图床上传功能;upic从0.19后开始支持minio服务(使用亚马逊自定义S3),才让以上组合得以简单实现

前提准备

需要一台通外网的服务器 ,云服务器最佳(用于搭建minio服务),并已安装了docker

服务器有域名最佳(后续如果图床由于ip变更导致url失效就很麻烦了),本人就买了个10年时长的域名(178元,还算便宜)

然后为minio设置一个二级域名

docker网络准备

想要nginx与minio都采用容器的方式部署,虽然可以都写在同一个 docker-compose.yml 文件中

但如果后续还有其他服务也要使用nginx代理,则会造成修改的不方便;

因此这里先建立一个bridge网络,然后nginx、minio部署时候都加入这个bridge网络即可

创建网络

docker network create myapps

查看网路

docker network ls

minio部署

docker-compose.yml 文件,内容如下

version: '3.7'
services:
  minio:
    image: minio/minio
    hostname: minio
    container_name: minio
    volumes:
      - ./data:/data
      - ./config:/root/.minio
    ports:
      - "9000:9000"
    environment:
      MINIO_ACCESS_KEY: xxxxxx
      MINIO_SECRET_KEY: yyyyyy
    command: server /data
    privileged: true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
networks:
  default:
    external:
      name: myapps

docker-compose up -d 启动服务

此时如果你的云服务器对外开放了9000端口,那么访问 域名:9000 就可以查看 minio browser

登陆 minio browser ,用户名密码是上面的 xxxxxx yyyyyy

点击右下角, Create bucket 创建一个文件存储目录,比如 blog

点击这个创建的 blog 右侧的三个点, Edit policy 为其增加 read only 权限

nginx部署

docker-compose.yml 文件,内容如下

version: '3.7'
services:
  nginx:
    image: nginx:alpine
    hostname: nginx
    container_name: nginx
    volumes:
      - ./conf.d:/etc/nginx/conf.d
    ports:
      - "80:80"
networks:
  default:
    external:
      name: myapps

开始配置代理内容,将 conf.d 目录放在与 docker-compose.yml 相同的路径下

进入 conf.d

创建并配置 minio.conf 内容

server {
    listen 80;
    server_name minio.xxxx.com;
  proxy_buffering off;                #    关闭上游响应的缓存,数据实时传递给客户端
  client_body_buffer_size 5M;    # 请求body缓冲区的大小,即上传图片的大小,如果超过5MB,会产品临时文件
  client_max_body_size 5M;        # 请求body允许的最大大小,超过5M会返回报错信息,可根据实际情况设置,我这里只做图床,一张图片不超过5M
    location / {
        proxy_pass http://minio:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    proxy_http_version 1.1;
        proxy_set_header Connection "";
}

创建并配置 default.conf 内容

nginx有一个机制,如果没配置 default_server ,那么匹配不上的域名都会直接解析道第一个配置的 server 块;为了避免这种情况的出现,我们配置一个 default_server ,url不对就直接报404

server {
    listen 80 default_server;
    server_name _;
    return 404;
}

同样 docker-compose up -d 启动服务

此时访问 minio.xxxx.com 应该就能看到 minio browser 的登陆页面了

typora设置

typora官网

下载macos版本即可

下载完毕后,打开偏好设置--图像,进行如下设置

image-20210209232733709

点击《下载uPic》

uPic设置

将下载的uPic安装后,进入偏好设置 -- 图床,删除原来的SMSS,添加Amazon S3

进行如下配置

image-20210209224813831

  • 服务端URL:前面设置的minio二级域名
  • 空间名称:前面创建的bucket名称
  • Access Key:minio的 docker-compose.yml 中设置的
  • Secret Key:minio的 docker-compose.yml 中设置的
  • 保存路径:下面罗列支持的变量,根据需求填写即可;我这里是按照 年-月 进行了文件夹区分

都配置好了之后,点击验证即可,macbook右上方会跳出通知,如果提升成功,那就配置成功了

1.您可自由分发和演绎本站内容,只需保留本站署名且非商业使用 (CC BY-NC-SA 4.0 CN)

2.本站引用资源会尽最大可能标明出处及著作权所有者,但不能保证对所有资源都可声明上述内容。侵权请联络作者。

· pomelo 男 软件测试