图床、备份、静态资源——需要一个能通过API上传下载文件的存储服务。MinIO是开源的高性能对象存储,兼容Amazon S3 API,Docker单机部署,所有支持S3的工具都能对接。
Docker部署MinIO
mkdir minio && cd minio
docker run -d --restart always
-p 9000:9000 -p 9001:9001
-v ./data:/data
-e MINIO_ROOT_USER=admin
-e MINIO_ROOT_PASSWORD=强密码最少8位
--name minio
minio/minio server /data --console-address ":9001"
# 9000是API端口,9001是Web管理界面
# 访问 http://VPS_IP:9001 进管理后台登录后→创建Bucket(存储桶)→设为公开或私有→上传文件→获取文件直链。
雨云VPS跑MinIO需要一定硬盘空间(存文件)——入门20GB起步,优惠码 admin01 首月五折。
API上传文件(S3兼容)
MinIO兼容S3 API,用Python boto3库操作:
pip install boto3
import boto3
from botocore.client import Config
client = boto3.client('s3',
endpoint_url='http://VPS_IP:9000',
aws_access_key_id='admin',
aws_secret_access_key='你的密码',
config=Config(signature_version='s3v4'))
# 上传文件
client.upload_file('local.png', 'mybucket', 'folder/remote.png')
# 生成预签名URL(临时访问链接)
url = client.generate_presigned_url('get_object',
Params={'Bucket': 'mybucket', 'Key': 'folder/remote.png'},
ExpiresIn=3600) # 1小时有效Nginx反代HTTPS
server {
listen 80;
server_name s3.你的域名.com;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
}
}
# certbot --nginx -d s3.你的域名.com和Lsky Pro图床的区别
Lsky Pro是专用的图床(面向图片、有前端上传界面)。MinIO是通用对象存储(面向API调用、所有类型文件)。需要Web界面上传管理图片→Lsky Pro。需要API程序化读写文件→MinIO。两者可以配合——Lsky Pro用MinIO做后端存储。
常见问题
MinIO占用多少资源?
内存约100MB,CPU极低。主要资源开销在磁盘IO。小文件频繁读写建议用SSD。
一个Bucket可以设公开访问吗?
可以——Bucket设置→Access Policy→设为Public。所有文件直接通过URL访问,适合做静态资源CDN源站。
数据怎么备份?
MinIO数据就是./data目录——直接tar打包同步到COS或另一台VPS。或者在另一台MinIO上设镜像复制。






