使用Alist与Lsky搭建图床

环境

Linux 服务器 + Nginx

AList

安装 Alist 官方网站:https://alist.nn.ci/

一键安装仅适用于 Linux amd64/arm64 平台,详细请查阅官方文档https://alist.nn.ci/zh/guide/install/script.html

1
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install

自定义路径安装

默认安装在 /opt/alist 中。 自定义安装路径,将安装路径作为第二个参数添加,必须是绝对路径(如果路径以 alist 结尾,则直接安装到给定路径,否则会安装在给定路径 alist 目录下),如 安装到 /root

1
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install /root

安装成功就会出现端口号等,一般是5244端口,另外要去放行一下端口,如果忘记密码,也可以输入命令找回

1
2
cd /opt/alist  --进入alist目录
./alist admin --查看密码

Alist 进入服务器IP+端口,也可以给域名加一个反向代理,代理名称自己随意

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# nginx.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name alist.example.top;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://localhost:5244;
proxy_redirect off;
}

ssl_certificate "/server.crt";
ssl_certificate_key "/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}

安装 alist 并进入后台,在存储里点击添加

image-20240101153044472

Alist 存储配置

image-20240101153639232

驱动:

选择阿里云盘Open(想用什么盘看自己的选择)

挂载路径:

输入在云盘里已经创建好的文件夹

根文件夹 ID:

进入阿里云盘网页版,进入你要挂载的文件夹 地址最后一串就是它的 ID

image-20240101154130072

刷新令牌:

刷新令牌获取地址:https://alist.nn.ci/tool/aliyundrive/request

image-20240101160850128

Lsky Pro

安装 2.0 版本的话,必须要有PHP8.0.2以上的环境,本站使用Docker安装,因为用最简单的常规方法

在终端输入以下命令

1
sudo docker run -d --name lskypro --restart unless-stopped -p 4000:80 -v /data/lskypro:/var/www/html coldpig/lskypro-docker:latest

命令详解:

sudo: 使用管理员权限运行命令。

docker run: 运行一个 Docker 容器。

-d: 表示以后台(detached)模式运行容器。

--name lskypro: 为容器指定一个名称,这里是 “lskypro”。

--restart unless-stopped: 在容器退出时,除非显式停止,否则会自动重启容器。

-p 4000:80: 将主机的 4000 端口映射到容器的 80 端口,这样可以通过访问主机的 4000 端口来访问容器中的应用程序。(4000端口需要开放)

-v /data/lskypro:/var/www/html: 将主机的 /data/lskypro 目录挂载到容器内的 /var/www/html 目录,这可以用来持久化存储数据。(/data/lskypro可以自定义,也就是你想安装在哪个目录的路径)

coldpig/lskypro-docker:latest: 指定要使用的 Docker 镜像,这里是 coldpig/lskypro-docker 镜像的最新版本(latest 标签)。

等待安装完成,访问使用用IP+端口号,如果不想使用 IP 而是使用域名,则需要添加反代

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# nginx.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name image.example.top;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://localhost:4000;
proxy_redirect off;
}

location /img {
proxy_pass http://localhost:5244/d/alist/images;
proxy_read_timeout 600s;
}

ssl_certificate "/server.crt";
ssl_certificate_key "/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}

如果进去不是可视化界面,就需要在输入一条指令

1
sudo docker exec -it lskypro sed -i '32 a \\\Illuminate\\Support\\Facades\\URL::forceScheme('"'"'https'"'"');' /var/www/html/app/Providers/AppServiceProvider.php

安装的时候数据库推荐选择 SQLite 3.8.8+,数据库路径可以不用填,直接输入邮箱密码就可以了

进入管理后台登录进去点击`储存策略

image-20240101161854192

存储策略配置

image-20240101162204651

存储策略:创建一个新的存储策略WebDav

访问域名:你的兰空图床域名+/img

连接地址:你的Alist地址

认证方式:Basic,这是一种 HTTP 认证方式,用于保护访问你的存储策略所需的认证信息,以确保只有经过授权的用户能够访问和操作存储策略中的数据

路径前缀:/dav/挂在路径的名字,可以理解为在兰空上传图片后,图片的存放位置

用户名和密码:Alist的登录用户名与密码

填完之后,在nginx的配置文件中给自己的兰空图床添加一个伪静态

1
2
3
4
location /img {
proxy_pass https://localhost:5244/d/images;
proxy_read_timeout 600s;
}

注意:proxy_pass https://localhost:5244/d/image; 这个 image 就是上面 Alist 里面写的挂在路径要一致,我这里写的是我图片存放的路径

最后策略选择刚才创建的新策略,然后浅试一下,如果没逝就是成功啦

QQ截图20240120154703

image-20240101163013197


文章转载于小植同学 | Alist+阿里+Lsky 搭建图床