xChar
·5 months ago

Mix Space后台内有一个文件系统,示例如下:

实际上,这个文件管理系统直接依赖于Mix Space部署的某个文件夹内,它处于mx-space/static/这个位置,并且图标、头像、文件分别对应于avatariconfile 。所以如果直接对该三个文件夹进行文件操作,Mix Space后台内也是可以被同步的。对于这个特性,本站目前使用FTP+PicList进行图床的架设,下述开始分享操作流程。

PicList二开于PicGo,所以这份教程同样适用于PicGo。

本站使用1Panel+Docker架设Mix Space,1Panel的容器文件目录格式一般是/opt/1panel/docker/compose/容器名/data/,具体情况请根据自己的服务器进行判断处理。那么针对FTP只需要配置好文件目录和鉴权操作即可。

继续,在PicList内下载ftp-uploader插件并进行配置。下面是一份使用后端域名进行资源访问的json配置样例:

{
  "img": {
    "url": "getaway", //API 地址
    "path": "/api/v2/objects/*type*/{fullName}", //type:avatar,icon,file
    "uploadPath": "/{fullName}",
    "host": "serverIP",
    "port": 21,
    "username": "ftpuser",
    "password": "ftppass"
  }
}

若如我这般使用独立域名进行访问,依旧需要用到反代。下述是我的部署方案,请根据自身实际情况进行修改。

# Nginx反代配置

location ^~ /shiro/files/ { # 反代的文件夹(自定义)
    proxy_pass http://127.0.0.1:2333/api/v2/objects/file/; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header REMOTE-HOST $remote_addr; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_http_version 1.1; 
    add_header X-Cache $upstream_cache_status; 
    add_header Strict-Transport-Security "max-age=31536000"; 
    add_header Cache-Control no-cache; 
}

当反代前端请求路劲为/shiro/files/时,该网站下所有的https://domain/shiro/files/请求将会反代Mix Space的资源文件夹,起到了独立域名访问静态资源的效果。反代配置可以针对avatariconfile 进行多项反代配置的添加。

// ftp-uploader插件配置

{
  "img": {
    "url": "https://domain", //你的独立域名
    "path": "/shiro/files/{fullName}", //需要反代的文件夹
    "uploadPath": "/{fullName}",
    "host": "serverIP",
    "port": 21,
    "username": "ftpuser",
    "password": "ftppass"
  }
}

此文由 Mix Space 同步更新至 xLog
原始链接为 https://de3ay.com/posts/tech/mixspace-filesystem


Loading comments...