效果演示
传送门 → LeoHao's Image Hub




写在前面
图床是用于存放图片的空间,基于图床可以很方便的实现图片分享,便于日常使用和前端开发。
兰空图床 · Lsky Pro 是一款基于 PHP 开发的开源图床项目,界面美观且易于操作,目前支持
本地存储
、AWS S3
、阿里云 OSS
、腾讯云 COS
、七牛云
、又拍云
、SFTP
、FTP
、WebDAV
、Minio
等多类存储服务。Lsky Pro 的优势在于其支持
WebDAV
协议,因此我们可以使用 AList 绑定个人网盘(如阿里云盘、百度网盘、天翼云盘、夸克网盘等),将 AList 提供的WebDAV
服务作为图床的存储策略,进而充分利用云盘空间,快速地通过图床将图片托管到个人网盘。
P.S. 本文档内的图片由 Image Hub 托管
官方文档
兰空图床
AList
部署步骤
注意:在部署开始前你应该拥有一台公网服务器,另外,以下步骤依赖于 Docker、Nginx 和 AList,请提前安装相关依赖并配置,本文档只对 LskyPro 图床的搭建步骤和必要的注意事项进行介绍。
Step1. 配置 AList WebDAV 服务
在个人网盘中创建 lskypro-image
文件夹,这里以天翼云盘为例,并在 AList 中将该文件夹挂载到路径 /image
,如下图所示:


以上步骤完成后,访问 DAV
链接并通过身份校验后,即可进行图片的上传与访问。假设 AList 绑定的公网域名为 alist.domain.name.cn
,则图片存储服务的 DAV
链接为:https://alist.domain.name.cn/dav/image
。
Step2. 启动 LskyPro 图床容器服务
LskyPro 图床服务依赖于多个PHP插件,为了方便部署,我们采用 Docker 的方式安装 ,命令如下:
# 创建容器并启动(宿主机4003端口可自行更改)
sudo docker run -d --name lskypro --restart unless-stopped -p 4003:80 -v /data/lskypro:/var/www/html coldpig/lskypro-docker:latest
Step3. 修改 Nginx 配置项
注意,如果在 Nginx 配置中开启了 HTTPS ,需要执行以下命令修改图床项目源码,否则前端页面布局将被打乱:
sudo docker exec -it lskypro sed -i '32 a \\Illuminate\Support\Facades\URL::forceScheme('"'"'https'"'"');' /var/www/html/app/Providers/AppServiceProvider.php
假设图床服务的域名为 image.domain.name.cn
,AList 部署在本地端口 4015
,在 nginx.conf
中添加如下配置项:
#Lsky Pro | Image Hub
server {
listen 80;
listen 443 ssl;
server_name image.domain.name.cn;
# HTTPS 需要指定 SSL/TLS 证书路径
ssl_certificate cert/image.domain.name.cn.pem;
ssl_certificate_key cert/image.domain.name.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
# 转发图床服务请求
location / {
# 转发端口 4003 与 Step2 中设定的宿主机端口保持一致
proxy_pass http://localhost:4003;
proxy_read_timeout 600s;
}
# 转发 AList 图片直链访问请求
location /img {
proxy_pass http://localhost:4015/d/image;
proxy_read_timeout 600s;
}
}
Nginx 配置说明
- 上传至图床的图片应该是可公开访问的,为此我们在以上 Nginx 配置中增加了
转发 AList 图片直链访问请求
配置项。经过以上配置,客户端通过访问https://image.domain.name.cn/img/${img_path}
即可直接获取图片,无需进行身份验证。
Step4. 配置 LskyPro 图床
A. 数据库配置
以上步骤完成后,浏览器访问图床服务域名可进入如下图所示的配置页面。配置页面将引导我们设置数据库服务,为了减轻工作量,我们直接使用本地 SQLite 数据库,数据库路径留空即可(将自动在服务根目录的 database
目录下创建 database.sqlite
文件),同时需要设定管理员邮箱和登录密码。

配置完成后根据引导进入图床首页

B. 设置存储策略
登录管理员账户,点击侧边栏的 “存储策略” 进入图片文件存储的相关配置,创建一个新的存储策略。

默认存储策略为本地存储,为了不占用服务器空间,我们这里使用 AList 提供的 WebDAV 服务创建一个新的存储策略,配置项如表所示,其中访问域名即为图片直链对应的域名和路径。
注意:记得选中角色组,否则存储策略不会生效。
配置项 | 配置内容 | 说明 |
---|---|---|
名称 | WebDAV 存储区 | |
储存策略 | WebDAV | |
访问域名 | image.domain.name.cn/img | 记得添加 /img 后缀,与 Nginx 配置保持一致 |
URL Queries | 留空,无需填写 | |
连接地址 | alist.domain.name.cn | alist.domain.name.cn 为 AList 服务访问域名 |
认证方式 | Basic | 务必选择 Basic,否则连接失败 |
路径前缀 | /dav/image | 与 AList 存储配置保持一致 |
用户名 | ${username} | AList WebDAV 用户名(用户需有对 image 目录的 WebDAV 读写权限) |
密码 | ${password} | AList WebDAV 密码(用户需有对 image 目录的 WebDAV 读写权限) |


C. 设置 WebDAV 为默认存储策略
WebDAV 存储策略添加后可以将默认本地存储策略删除,防止用户将图片上传至本地服务器。