文章目录
- 服务器
- 安装docker
- 安装数据库
- 部署兰空图床
- 兰空图床配置邮箱验证
- 配合PicGo实现批量上传
最近想试试自己搭建图床,虽然免费的又拍云够用了,但对象存储和图床还是有区别的,用起来有些复杂,所以打算试试兰空图床
服务器
想搭建图床自然是需要服务器了,我选择的是雨云-新一代云服务提供商的NAT网络服务器,因为没有独立的IP,所以性价比很高。而且带宽大,并且支持试用
-
云产品选择江苏宿迁➡️KVM入门版➡️Debian11系统➡️NAT共享IP模式
最好还是上标配版,响应速度更快,我这里lsky和mysql一共占用近700m,1g内存应该会一直处于高占用状态,但应该勉强能用
-
进入控制台
-
复制远程连接地址,用windterm或xshell之类的ssh工具连接服务器
-
输入用户名密码连接后显示此画面即可
-
使用windterm的话建议在会话设置处设置
发送空包以保持会话活动
,否则时不时会发现输入无反应,那就是断连了😂
安装docker
这个随便找找教程就行,或者看我之前的文章云服务器部署 ALAS—— 解放双手游玩碧蓝航线 | 火柴人儿的小站,其中有Debian11安装docker的部分
安装数据库
Docker部署MySQL 8.3.0(保姆级图文教程)
根据此教程使用docker安装mysql数据库,这里直接给操作,按着此步骤走就行
-
拉取mysql:8.3.0镜像
docker pull mysql:8.3.0
-
创建挂载目录
mkdir -p /home/mysql/{conf,data,log}
-
创建并编辑配置文件
cd /home/mysql/conf vim my.cnf
按
i
进行输入,按shift+insert
粘贴[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容器
docker 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端口
docker 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三步,我的配置如下
{ "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
(要有空格!),整体格式为{"Authorization": "Bearer Qxxxxxxxxxxxxxxxxxxxxxxxxxx"}
自定义body用于指定上传的相册,若不填写的话,你应该在设置中将默认上传相册设置好,否则应该无法上传成功
-
点击确定保存配置,在上传区中选择刚才添加的
雨云-兰空图床
-
测试
上传成功!
使用外链打开