兰空图床(Lsky Pro)是一款功能强大的开源图片托管系统,支持本地存储、云存储对接、图片管理等核心功能。本教程详细讲解其两种部署方式及全流程配置方法,兼顾新手友好性与生产环境稳定性需求。
部署方式选择
兰空图床提供两种核心部署方案,可根据自身技术背景和使用场景选择:
传统安装(宝塔面板):可视化操作界面,无需复杂命令行,适合习惯图形化管理、熟悉宝塔面板的用户。
Docker部署(强烈推荐):集成依赖环境,一键启动,无需手动配置运行环境,跨系统兼容性强,适用于所有用户尤其是纯命令行操作的新手。
建议:新手优先选Docker部署减少环境问题,熟悉Linux/宝塔面板的用户可选择传统安装;
传统安装(宝塔面板)
通过宝塔面板可视化配置运行环境,降低命令行操作门槛,适合习惯图形化管理的用户,需提前在服务器安装宝塔面板及以下环境:
PHP 8.0.2 或更高版本
MySQL 5.7 或更高版本
Nginx 1.20+ 或 Apache 2.4+
环境配置步骤
安装PHP及扩展
登录宝塔面板,进入【软件商店】→【运行环境】,搜索PHP 8.0+版本(推荐8.1)点击安装
安装完成后,点击对应PHP版本的【设置】→【安装扩展】,勾选安装以下必装扩展:
Fileinfo PHP 扩展
Imagick 扩展
安装完成后点击【重启PHP】生效
解除PHP函数限制
进入PHP设置页面,点击【禁用函数】
删除以下函数的禁用状态:
exec、shell_exec
readlink、symlink
putenv、getenv
proc_open、passthru
点击【保存】并重启PHP服务
创建数据库
进入宝塔面板【数据库】→【添加数据库】
填写数据库信息(建议统一命名便于管理):
数据库名:lsky
用户名:lsky
密码:设置包含大小写字母、数字、特殊符号的强密码
字符集:utf8mb4
点击【创建】,保存数据库地址(localhost)、端口(3306)、用户名、密码备用
程序下载与部署
创建网站
进入宝塔面板【网站】→【添加站点】
填写信息:
域名:有域名填域名,无域名填服务器公网IP
根目录:默认自动生成(如
/www/wwwroot/yourdomain.com)数据库:选择【不创建】(已手动创建)
PHP版本:选择已安装的 PHP 版本
点击【提交】创建站点
下载并解压程序
通过SSH连接服务器,执行以下命令:
# 进入网站根目录cd /www/wwwroot/yourdomain.com
# 下载最新版兰空图床
wget https://github.com/lsky-org/lsky-pro/releases/download/v2.1.0/lsky-pro-v2.1.0.zip
# 解压程序包
unzip lsky-pro-v2.1.0.zip
# 设置目录权限chmod -R 755 storage/ bootstrap/cache/
chown -R www:www ./*配置网站运行参数
回到宝塔面板,进入该站点的【设置】→【网站目录】
将【运行目录】修改为public
取消勾选【防跨站攻击 (open_basedir)】
点击【保存】
配置伪静态
进入站点【设置】→【伪静态】
清空原有规则,粘贴以下 Nginx 规则:
location / {
try_files $uri $uri/ /index.php?$query_string;
}点击【保存】并重启 Nginx 服务
PHP8.2版本注意事项
修改vendor/nesbot/carbon/src/Carbon/Traits/Creator.php的第928行
#private static function setLastErrors(array $lastErrors)
private static function setLastErrors($lastErrors)Docker 部署(推荐)
Docker 部署无需手动配置 PHP、MySQL 等环境,一键启动,跨系统兼容性强,是新手和生产环境的首选方案。
安装 Docker
执行 LinuxMirrors 的 Docker 一键安装脚本
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)验证Docker安装(显示版本信息即为成功)
docker --version创建持久化数据目录
为防止容器删除导致数据丢失,需创建本地目录挂载容器内数据:
创建核心数据目录
mkdir -p ~/lsky-pro-data/storage
mkdir -p ~/lsky-pro-data/themes
mkdir -p ~/lsky-pro-data/mysql/data
mkdir -p ~/lsky-pro-data/mysql/conf
mkdir -p ~/lsky-pro-data/mysql/log设置目录权限(确保容器可读写)
sudo chmod -R 755 ~/lsky-pro-data
sudo chown -R $USER:$USER ~/lsky-pro-data部署方式选择
单容器部署(快速测试)
适合临时测试或个人轻量使用,仅启动兰空图床核心服务,依赖内置 SQLite 数据库(不推荐生产环境):
docker run -d --name lsky-pro -p 8000:8000 \
-v ~/lsky-pro-data/storage:/app/storage/app \
-v ~/lsky-pro-data/themes:/app/themes \
--restart unless-stopped \
0xxb/lsky-pro:latestDocker Compose 部署(生产推荐)
创建配置文件
创建Compose文件目录
mkdir -p ~/lsky-pro-docker
cd ~/lsky-pro-docker创建并编辑docker-compose.yml文件
vim docker-compose.yml粘贴以下内容
version: '3.8'
services:mysql:
image: mysql:8.0
container_name: lsky-pro-mysql
environment:
- MYSQL_ROOT_PASSWORD=your_secure_root_password
- MYSQL_DATABASE=lsky
- MYSQL_USER=lsky
- MYSQL_PASSWORD=your_secure_password
volumes:
- mysql-data:/var/lib/mysql
restart: unless-stopped
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
redis:
image: redis:7-alpine
container_name: lsky-pro-redis
command: redis-server --appendonly yes --requirepass "your_redis_password"
volumes:
- redis-data:/data
restart: unless-stopped
lsky-pro:
image: 0xxb/lsky-pro:latest
container_name: lsky-pro
depends_on:
- mysql
- redis
ports:
- "8000:8000"
volumes:
- storage:/app/storage/app
- themes:/app/themes
environment:
- DB_CONNECTION=mysql
- DB_HOST=mysql
- DB_PORT=3306
- DB_DATABASE=lsky
- DB_USERNAME=lsky
- DB_PASSWORD=your_secure_password
- REDIS_HOST=redis
- REDIS_PASSWORD=your_redis_password
- REDIS_PORT=6379
restart: unless-stopped
volumes:mysql-data:
driver: localredis-data:
driver: localstorage:
driver: localthemes:
driver: local启动服务:
docker-compose up -d安装配置
访问安装向导
传统部署(宝塔):浏览器访问
http://你的域名/或http://服务器IP/Docker :访问
http://服务器IP:8000/
进入兰空图床安装页面
环境检测
系统自动检测运行环境,若出现红色警告项:
PHP 扩展缺失:宝塔部署返回面板安装对应扩展;
函数被禁用:仅宝塔部署需要解除 PHP 函数限制(Docker 镜像已配置)
确保所有检测项为绿色通过后,点击【下一步】。

配置信息
配置项传统部署(宝塔)Docker Compose 部署数据库类型MySQLMySQL数据库地址127.0.0.1lsky-pro-mysql(容器名)数据库端口33063306数据库名lsky_pro(自定义)lsky(Compose 配置中设置)数据库用户lsky_user(自定义)lsky(Compose 配置中设置)数据库密码创建时的密码your_secure_password(自定义)

设置管理员核心信息(务必牢记):
管理员邮箱:建议使用常用邮箱(用于登录和找回密码)
管理员密码:推荐格式
大写字母+小写字母+数字+特殊符号(如Lsky@Pro123!)
点击【立即安装】,即可进入登录界面。
基础配置与使用
存储策略配置(核心功能)
登录管理员后台后,点击左侧【存储策略】-【添加策略】,根据需求选择存储方式:
本地存储(默认)
适用场景:服务器磁盘空间充足,仅个人或小团队使用
配置项:设置存储路径、访问URL前缀等
第三方云存储(推荐)
支持阿里云OSS、腾讯云COS、七牛云、AWS S3等,以阿里云OSS为例:
在阿里云控制台创建OSS Bucket,获取AccessKey ID和AccessKey Secret
在图床存储策略中选择【阿里云OSS】
填写Bucket名称、地域、AccessKey等信息,设置文件存储路径
点击【保存】并设为默认策略
提示:使用云存储可避免服务器带宽和存储压力,适合图片访问量较大的场景。
用户组管理
点击左侧【角色组管理】,可创建多用户组并分配不同权限:
上传限制:单文件大小、每日上传数量、总存储容量
权限控制:是否允许创建相册、是否允许修改图片、是否开启鉴黄
存储策略:指定该用户组可使用的存储方式
默认包含【管理员】和【普通用户】两组,可根据需求自定义。
图片上传设置
点击左侧【系统设置】-【上传设置】,配置图片处理规则:
功能配置说明格式转换开启后自动将图片转换为WebP格式(体积小、兼容性好)图片水印支持文字水印(设置字体、大小、颜色)和图片水印(上传水印图片)原图保护开启后仅管理员可访问原图,普通用户只能查看缩略图鉴黄功能集成阿里云/腾讯云鉴黄接口,自动检测违规图片
API使用及通过Postman获取Token
获取Token
兰空图床提供API接口,支持通过第三方软件 / 脚本上传图片,我们可以通过以下教程获取所需的Token:
查看文档,获取 API 地址
访问图床的 API 文档,确认 API 端点
API 地址格式:https://你的图床域名/api/v1
记录该地址,用于后续 Postman 请求配置

访问 Postman 并注册账号
打开 Postman 官网,点击【Sign Up】按钮注册账号(支持邮箱、Google、GitHub 等方式登录)

新建工作区
登录 Postman 后,点击左侧导航栏的【Workspaces】→【Create Workspace】
填写工作区基础信息
点击【Create】按钮完成工作区创建,自动进入该工作区
创建 POST 请求
在工作区首页点击【+】→【New Request】,创建新的 API 请求
将默认的请求方法从 “GET” 切换为POST

在 URL 输入框中,粘贴步骤 1 中获取的 API 地址(如https://img.yunzhui.top/api/v1)
填写 Header 和 Body 配置
配置 Header(请求头)
切换到【Headers】标签页,添加以下键值对:

配置 Body(请求体)
切换到【Body】标签页,选择【x-www-from-urlencoded】格式

输入对应的值
KeyValueemail你的管理员邮箱@example.compassword你的管理员登录密码
发送请求,获取 Token 结果
确认所有配置无误后,点击右上角【Send】按钮发送请求

复制data.token对应的字符串,保存备用(用于后续图片上传 API)
使用 Token 上传图片
推荐安装 PicList 上传图片,支持Linux,Windows,MacOS
安装后打开PicList,点击左侧的图床,然后选择兰空图床,然后点击新增

如图所示填入所需要的信息,Token前方需要添加Bearer



