写博客要配图、发文章要外链、分享截图不想用第三方图床怕图片丢失——在VPS上搭个Lsky Pro图床,图片存在你自己的服务器上,上传自动生成外链,还能分类管理相册。
Docker部署Lsky Pro
mkdir lsky && cd lsky
nano docker-compose.ymlversion: '3'
services:
lsky:
image: halcyonazure/lsky-pro:latest
restart: always
ports:
- "8089:80"
volumes:
- ./data:/var/www/html
environment:
- WEB_PORT=80docker compose up -d
# 访问 http://VPS_IP:8089 进安装向导
# 数据库选SQLite即可安装时创建管理员账号,完成后登录进入后台管理界面。雨云入门VPS月付几块就能跑图床——只存图片不吃CPU。优惠码 admin01 首月五折。存储空间按需——日常博客配图每月500MB够用,大量图片建议20GB以上。
基本使用:上传和获取外链
登录后点”上传图片”→拖图片进去或点选文件→上传。上传完成后每张图片下面会显示多种外链格式——URL(直链)、Markdown(![]()格式,适合写博客)、HTML(标签)。复制需要的格式粘贴到你的博客或网站里,图片就显示了。
Lsky Pro会自动按日期创建文件夹、用随机字符串重命名图片文件名——避免文件名泄露隐私。
创建相册和分类管理
后台→”相册”→新建相册→起名后把相关图片移进去。可以设相册的可见性——公开(所有人能看)、隐藏(只有自己能看)、密码访问(访客需要密码)。
团队使用:创建不同角色账号——管理员管理一切、普通用户只能上传和管理自己的图片、访客只能看公开相册。适合小团队共用一个图床。
API上传——代码里自动传图
如果你用Python脚本自动截图然后上传到图床,或者博客程序自动上传配图:
# 先在Lsky后台→系统设置→API→生成Token
import requests
token = "你的API Token"
url = "https://img.你的域名.com/api/v1/upload"
with open("screenshot.png", "rb") as f:
resp = requests.post(url,
headers={"Authorization": f"Bearer {token}"},
files={"file": f}
)
data = resp.json()
if data["status"]:
print("上传成功:", data["data"]["links"]["url"])返回的JSON里包含各种格式的链接,直接用。
配置HTTPS和域名
apt install nginx certbot python3-certbot-nginx -y
nano /etc/nginx/sites-available/lsky
server {
listen 80;
server_name img.你的域名.com;
client_max_body_size 20M; # 上传限制20MB
location / {
proxy_pass http://127.0.0.1:8089;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
ln -s /etc/nginx/sites-available/lsky /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d img.你的域名.com备份策略
图床上的图片是你自己的,丢了就没有了。备份整个data目录+数据库:
#!/bin/bash
cd /path/to/lsky
tar -czf lsky-backup-$(date +%Y%m%d).tar.gz data/
coscmd upload lsky-backup-*.tar.gz /backup/lsky/加到crontab每天自动备份并同步到对象存储。
常见问题
上传提示”文件太大”?
三处限制都要改:Lsky后台→系统设置→上传大小限制;Nginx配置client_max_body_size;PHP的upload_max_filesize(在docker-compose里加PHP_UPLOAD_LIMIT=20M)。
图床被滥用怎么办?
后台开启”上传需要登录”、关闭公开上传功能;设单用户每日上传数量限制;防火墙限制API请求频率;定期审查公开相册。
和Chevereto、PicGo有什么区别?
Chevereto功能更全但吃资源且部分功能收费。PicGo是上传客户端不是服务器。Lsky Pro免费开源、功能正好、SQLite零配置跑起来最快。






