搭建兰空图床并配合PicGo实现批量上传
最近想试试自己搭建图床,虽然免费的又拍云够用了,但对象存储和图床还是有区别的,用起来有些复杂,所以打算试试兰空图床
服务器
想搭建图床自然是需要服务器了,我选择的是雨云-新一代云服务提供商的NAT网络服务器,因为没有独立的IP,所以很实惠。而且带宽大,并且支持试用
云产品➡️立即购买
选择江苏宿迁➡️KVM入门版➡️Debian11系统➡️NAT共享IP模式
最好还是上标配版,响应速度更快,我这里lsky和mysql一共占用近700m,1g内存应该会一直处于高占用状态,但应该勉强能用
进入控制台
复制远程连接地址,用windterm或xshell之类的ssh工具连接服务器
输入用户名密码连接后显示此画面即可
使用windterm的话建议在会话设置处设置
发送空包以保持会话活动
,否则时不时会发现输入无反应,那就是断连了😂
安装docker
这个随便找找教程就行,或者看我之前的文章云服务器部署 ALAS—— 解放双手游玩碧蓝航线 | 火柴人儿的小站,其中有Debian11安装docker的部分
安装数据库
根据此教程使用docker安装mysql数据库,这里直接给操作,按着此步骤走就行
拉取mysql:8.3.0镜像
1
docker pull mysql:8.3.0
创建挂载目录
1
mkdir -p /home/mysql/{conf,data,log}
创建并编辑配置文件
1
2cd /home/mysql/conf
vim my.cnf按
i
进行输入,按shift+insert
粘贴1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21[client]
设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
配置服务器的服务号,具备日后需要集群做准备
server-id = 1
开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数
binlog_expire_logs_seconds = 2592000
解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
允许最大的连接数
max_connections=1000
禁用符号链接以防止各种安全风险
symbolic-links=0
设置东八区时区
default-time_zone = '+8:00'esc
退出编辑,:wq
保存并退出创建并运行mysql容器
1
2
3
4
5
6
7
8
9
10docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=yourpassword \
-d mysql:8.3.0添加NAT端口映射规则
在雨云控制台中找到NAT端口映射,点击新建规则
使用navicat测试连接
创建数据库用于存储lsky的数据
部署兰空图床
使用的是HalcyonAzure提供的Docker镜像
创建并运行兰空图床容器,没有镜像会自动拉取镜像,这里将lsky-pro容器的8089端口映射到服务器的10800端口
1
2
3
4
5
6
7docker run -d \
--name lsky-pro \
--restart unless-stopped \
-p 10800:8089 \
-v $PWD/lsky:/var/www/html \
-e WEB_PORT=8089 \
halcyonazure/lsky-pro-docker:latest这里如果拉取失败的话则需要重新换源,从网上找几个镜像源,换着试。换源操作就是我上面发的我的文章中关于安装docker部分的8、9、10三步,我的配置如下
1
2
3{
"registry-mirrors": ["https://docker.1panel.live","https://dockerpull.comhttps://dockerproxy.cn", "https://docker.m.daocloud.io", "https://docker.m.daocloud.io"]
}如果还是不行,试试这个人的镜像hellodk34,不过他的镜像需要一同配置mysql,与我的需求不符,这里留作备用方案,具体操作点击链接前往github查看
添加NAT端口映射
浏览器访问
IP:11800
点击下一步,配置数据库和管理员账号
安装完成
首页
登陆管理员账号
至此,已部署完成
兰空图床配置邮箱验证
自用的话就没必要配置这个了,可不设置
系统设置
这里开启邮箱验证的话,下面的邮箱配置要配置好
我用的是139的邮箱,根据邮箱中的安全设置配置即可,用户名为邮箱,密码为授权码
注册新账号用于测试
登录
这时,邮箱中就会出现验证邮件,点击链接验证即可
验证通过后就没有红色提示了
配合PicGo实现批量上传
使用Apifox或Postman请求一个token,新建一个快捷请求
请求方式改为post,Header添加参数Accept
Body按要求添加参数email和password
发送请求,得到token,保存好,这个token只会在这里出现一次,以后再获取只会获得不同的token
新建一个相册,按
F12
,找到网络
,然后点击左上角的相册,查看相册id,这里相册id为1打开picgo,安装自定义Web图床插件
安装完成后,在图床设置中会出现自定义Web图床选项
点击
+
号,新建配置其他的都照着填就行,就自定义请求头需要特殊说一下,之前获取token时,是
数字|字符串
的格式,这里的Authorization只需要后面的字符串,且前面要拼上Bearer
,整体格式为1
{"Authorization": "Bearer Qxxxxxxxxxxxxxxxxxxxxxxxxxx"}
自定义body用于指定上传的相册,若不填写的话,你应该在设置中将默认上传相册设置好,否则应该无法上传成功
点击确定保存配置,在上传区中选择刚才添加的
雨云-兰空图床
测试
上传成功!
使用外链打开