写博客、做笔记、发公众号,图片是刚需。用第三方图床担心哪天关停、图片全挂;用云厂商对象存储又贵又麻烦。自己用 VPS 搭一个图床,图片存在自己手里,配合 PicGo 一键上传,配上自己的域名还能走 CDN 加速。这篇文章手把手教你用兰空图床(Lsky Pro)从零搭建,并配置 PicGo 实现"复制粘贴即上传"。
一、方案选择:为什么选兰空图床
自建图床主流方案对比:
| 方案 | 特点 |
|---|---|
| 兰空图床 Lsky Pro | 功能全、有后台、支持多种存储策略和 API,社区活跃 |
| PicGo + 对象存储 | 需要购买 COS/OSS,按量计费,长期成本不划算 |
| Chevereto | 老牌但授权收费,免费版功能受限 |
| 简单 HTTP 上传脚本 | 无后台无管理,不推荐 |
兰空图床(Lsky Pro) 是目前最推荐的免费开源方案:支持本地存储、对象存储、FTP 多种存储方式,自带用户系统、图库管理、防盗链,提供标准 API 给 PicGo 调用,一套下来完全够用。
环境要求: PHP 8.0+、MySQL 5.7+/8.0、Nginx/Apache。宝塔面板可以直接部署。
二、部署兰空图床(宝塔面板方式)
1. 创建网站和数据库
在宝塔面板:网站 -> 添加站点,绑定你的图床域名(如 img.example.com);数据库 -> 添加数据库,记下数据库名、用户名、密码。
2. 下载并安装兰空图床
cd /www/wwwroot/img.example.com
wget https://github.com/lsky-org/lsky-pro/releases/latest/download/Lsky-Pro-v2.zip
unzip Lsky-Pro-v2.zip
给目录设置权限:
chown -R www:www /www/wwwroot/img.example.com
3. 伪静态配置(重要)
在宝塔站点设置里开启伪静态,选择或填写:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
4. 浏览器安装
访问 http://img.example.com,进入安装向导:填写数据库信息、设置管理员账号密码,安装完成后登录后台。
5. 设置存储策略
后台 -> 存储策略 -> 添加策略,选"本地存储",指定存储路径和访问域名(填 https://img.example.com),设为默认。
提示:也可以选"对象存储"(阿里云 OSS、腾讯云 COS),图片传到云上,VPS 不占磁盘。
三、部署兰空图床(命令行方式)
不想用面板,手动装也很快(以 Ubuntu + Nginx + PHP 为例):
# 安装环境
apt install -y nginx php8.1-fpm php8.1-mysql php8.1-gd php8.1-zip php8.1-exif php8.1-xml php8.1-mbstring php8.1-curl unzip
# 下载程序
mkdir -p /var/www/img && cd /var/www/img
wget https://github.com/lsky-org/lsky-pro/releases/latest/download/Lsky-Pro-v2.zip
unzip Lsky-Pro-v2.zip && chown -R www-data:www-data /var/www/img
Nginx 站点配置:
server {
listen 80;
server_name img.example.com;
root /var/www/img/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?s=$uri;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
nginx -t && systemctl reload nginx
浏览器访问域名完成安装向导即可。
四、安装 PicGo 并配置兰空图床
PicGo 是跨平台的图片上传工具(Windows/Mac/Linux),支持拖拽、剪贴板上传,是自建图床的标配搭档。
1. 安装 PicGo
去 PicGo 官网下载对应系统版本安装。推荐用 v2.x 或 v3.x。
2. 安装兰空图床插件
打开 PicGo -> 插件设置,搜索 lskypro 或 lsky,安装"lskypro"插件(社区插件,作者不同,选下载量最高的即可)。
3. 配置图床参数
插件设置里填写:
URL:http://img.example.com/api/v1/upload # 你的图床 API 地址
TOKEN:粘贴你在兰空后台生成的令牌
获取令牌: 兰空图床后台 -> 个人设置/API 令牌 -> 生成一个新令牌,复制粘贴进 PicGo。
4. 使用
- 截图后
Ctrl+Shift+P(自定义快捷键)直接上传; - 或拖拽图片到 PicGo 窗口;
- 上传成功自动复制 Markdown 链接,粘贴到博客/笔记即可。
五、进阶配置:HTTPS + CDN 加速
1. 开启 HTTPS
给图床域名申请免费 SSL 证书(宝塔面板一键申请,或命令行 acme.sh),并设置 HTTP 跳转 HTTPS。
2. 图片走 CDN(推荐)
图片是静态资源,套一层 CDN 既能加速又能扛流量:
- 国内访问:用腾讯云/阿里云 CDN,回源到你的图床域名;
- 海外/免费方案:Cloudflare 免费 CDN,全站代理,图片自动加速;
- 有条件的用对象存储策略,直接接云厂商的 CDN,速度最好。
3. 防盗链设置
后台开启防盗链,只允许你的博客/网站域名引用图片,防止别人盗链你的流量:
# Nginx 层也可以加一层
location ~* \.(jpg|jpeg|png|gif|webp)$ {
valid_referers none blocked img.example.com yourblog.com;
if ($invalid_referer) {
return 403;
}
}
六、常见问题排查
1. 安装向导打不开/白屏
检查 PHP 版本(需 8.0+)、伪静态是否配置、目录权限是否为运行用户(www/www-data)。
2. 上传提示 413 Request Entity Too Large
Nginx 默认限制上传大小,修改配置:
client_max_body_size 50m;
改完 nginx -t && systemctl reload nginx。
3. 图片上传成功但显示 404
存储策略里"访问域名"没填对,或伪静态没生效。确认访问域名填的是完整域名(带 http/https),并检查伪静态规则。
4. PicGo 上传报错 401/令牌无效
重新在兰空后台生成新令牌,粘贴时注意别带空格和多余字符。
5. 磁盘空间不够
定期清理图库里的废图;或改用对象存储策略,把图片放到 OSS/COS。
总结
自建图床三件套:兰空图床(Lsky Pro)提供后台和 API + PicGo 一键上传 + CDN/HTTPS 加速。部署只需创建站点、下载程序、跑安装向导三步;配好 PicGo 后,平时写文章就是截图 → 自动上传 → 粘贴链接,图片永远掌握在自己手里。有对象存储预算的话,直接配 OSS/COS 策略,速度和容量都不是问题。
