There is a file system in the Mix Space backend, as shown below:
In fact, this file management system directly relies on a folder deployed by Mix Space, which is located at mx-space/static/
, and the icons, avatars, and files correspond to avatar
, icon
, and file
, respectively. So if you directly perform file operations on these three folders, they will also be synchronized in the Mix Space backend. For this feature, the current website uses FTP
+PicList
to set up the image hosting service. The following is the operation process for sharing.
PicList is a modification of PicGo, so this tutorial is also applicable to PicGo.
This website uses 1Panel+Docker to set up Mix Space. The container file directory format for 1Panel is generally /opt/1panel/docker/compose/container_name/data/
. Please judge and handle according to your own server situation. For FTP, you only need to configure the file directory and authentication operation.
Next, download the ftp-uploader
plugin in PicList and configure it. Here is an example of a json configuration that uses the backend domain name for resource access:
{
"img": {
"url": "getaway", //API address
"path": "/api/v2/objects/*type*/{fullName}", //type:avatar,icon,file
"uploadPath": "/{fullName}",
"host": "serverIP",
"port": 21,
"username": "ftpuser",
"password": "ftppass"
}
}
If you use an independent domain name for access like me, you still need to use reverse proxy. Here is my deployment plan, please modify it according to your actual situation.
# Nginx reverse proxy configuration
location ^~ /shiro/files/ { # Reverse proxy folder (custom)
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;
}
When the frontend request path is /shiro/files/
, all requests for https://domain/shiro/files/
on this website will be reverse proxied to the Mix Space resource folder, achieving the effect of accessing static resources with an independent domain name. Reverse proxy configuration can be added for avatar
, icon
, and file
.
// ftp-uploader plugin configuration
{
"img": {
"url": "https://domain", //Your independent domain name
"path": "/shiro/files/{fullName}", //Folder to be reverse proxied
"uploadPath": "/{fullName}",
"host": "serverIP",
"port": 21,
"username": "ftpuser",
"password": "ftppass"
}
}
This article is synchronized and updated to xLog by Mix Space
The original link is https://de3ay.com/posts/tech/mixspace-filesystem