🤖🤖-摘要:
本文介绍了如何利用AList,云盘和LskyPro搭建大容量图床,避免了高额图床管理费,增加了访问速度,图片自我管理。提及了搭建过程,包括环境准备,AList和WebDAV服务的搭建,以及Lsky的安装和配置。
概述
兰空官网:
兰空图床可以帮您保管大量无处安放的图片,数据可以自由选择储存驱动,支持主流第三方储存。
作为一个助手,它不仅可以将您把图片以指定规则存放在指定位置,还有更多强大的功能来帮助您处理这些图片。
AList:
一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序
支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展
支持所有 WebDAV 存储,这是一种用于访问文件的标准
云盘:
本文以天翼云盘为例, 免费 30 GB 的空间, 支持 WebDAV
自建图床

特点
- 无需缴高额图床管理费
- 访问速度取决于自建服务器的配置
- 图片自治, 自己管理图片, 不用担心图床跑路或被墙
搭建
前提:
需要公网服务器和已备案域名
服务器安装宝塔, Docker, Nginx
1. AList
使用 Docker 安装
docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
|
注意: 端口号是: 5244, 如果使用云服务器如阿里云, 腾讯云等, 记得开放此端口.
2. WebDAV 服务
- 注册登录天翼云盘
- 在个人网盘中创建
Pics 文件夹 - 在 AList 中将该文件夹挂载到路径
/image (在 AList 显示的路径)

参考配置:


参考文档
3. Lsky
安装
sudo docker run -d --name lskypro --restart unless-stopped -p 4003:80 -v /data/lskypro:/var/www/html coldpig/lskypro-docker:latest
|
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.com,AList 部署在本地端口 5244,在 nginx.conf 中添加如下配置项:
server { listen 80; listen 443 ssl http2; server_name image.domain.com; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/image.domain.com;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; ssl_certificate /www/server/panel/vhost/cert/image.domain.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/image.domain.com/privkey.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; error_page 497 https://$host$request_uri;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-00.conf; #PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/image.domain.com.conf; #REWRITE-END
#禁止访问的文件或目录 # 转发图床服务请求 location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; proxy_redirect off; client_max_body_size 20000m; # 转发端口 4003 与上面设定的宿主机端口保持一致 proxy_pass http://IP:4003; proxy_read_timeout 600s; } # 转发 AList 图片直链访问请求 location /img { proxy_pass http://IP:5244/d/image; proxy_read_timeout 600s; }
#禁止在证书验证目录放入敏感文件 if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) { return 403; } access_log /www/wwwlogs/image.domain.com.log; error_log /www/wwwlogs/image.domain.com.error.log; }
|
Lsky 数据库配置
以上步骤完成后,浏览器访问图床服务域名可进入如下图所示的配置页面。配置页面将引导我们设置数据库服务,为了减轻工作量,我们直接使用本地 SQLite 数据库,数据库路径留空即可(将自动在服务根目录的 database 目录下创建 database.sqlite 文件),同时需要设定管理员邮箱和登录密码。


设置存储策略

参考配置:

默认存储策略为本地存储,为了不占用服务器空间,我们这里使用 AList 提供的 WebDAV 服务创建一个新的存储策略,配置项如表所示,其中访问域名即为图片直链对应的域名和路径。
注意: 设置 WebDAV 为默认存储策略