利用Mix Space的文件系统进行静态资源存放

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

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

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

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

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

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

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

Copy
# 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 的资源文件夹，起到了独立域名访问静态资源的效果。反代配置可以针对avatar、 icon 、file 进行多项反代配置的添加。

Copy
// 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