搭建兰空图床并配合PicGo实现批量上传

文章目录

    • 服务器
    • 安装docker
    • 安装数据库
    • 部署兰空图床
    • 兰空图床配置邮箱验证
    • 配合PicGo实现批量上传

最近想试试自己搭建图床,虽然免费的又拍云够用了,但对象存储和图床还是有区别的,用起来有些复杂,所以打算试试兰空图床

服务器

想搭建图床自然是需要服务器了,我选择的是雨云-新一代云服务提供商的NAT网络服务器,因为没有独立的IP,所以性价比很高。而且带宽大,并且支持试用

  1. 云产品选择江苏宿迁➡️KVM入门版➡️Debian11系统➡️NAT共享IP模式

    最好还是上标配版,响应速度更快,我这里lsky和mysql一共占用近700m,1g内存应该会一直处于高占用状态,但应该勉强能用
    image-20241106153638618

  2. 进入控制台

    image-20241106154109120

  3. 复制远程连接地址,用windterm或xshell之类的ssh工具连接服务器

    image-20241106154444710

    image-20241106154512815

  4. 输入用户名密码连接后显示此画面即可

    image-20241106154617064

  5. 使用windterm的话建议在会话设置处设置发送空包以保持会话活动,否则时不时会发现输入无反应,那就是断连了😂

    image-20241106154737596

安装docker

这个随便找找教程就行,或者看我之前的文章云服务器部署 ALAS—— 解放双手游玩碧蓝航线 | 火柴人儿的小站,其中有Debian11安装docker的部分

安装数据库

Docker部署MySQL 8.3.0(保姆级图文教程)

根据此教程使用docker安装mysql数据库,这里直接给操作,按着此步骤走就行

  1. 拉取mysql:8.3.0镜像

    docker pull mysql:8.3.0
    
  2. 创建挂载目录

    mkdir -p  /home/mysql/{conf,data,log}
    
  3. 创建并编辑配置文件

    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保存并退出

  4. 创建并运行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  
    

    image-20241106141950353

  5. 添加NAT端口映射规则

    在雨云控制台中找到NAT端口映射,点击新建规则

    image-20241106155541498

    image-20241106142107269

  6. 使用navicat测试连接

    image-20241106142028484

  7. 创建数据库用于存储lsky的数据

    image-20241106142818924

部署兰空图床

使用的是HalcyonAzure提供的Docker镜像

  1. 创建并运行兰空图床容器,没有镜像会自动拉取镜像,这里将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
    

    image-20241106141411133

    这里如果拉取失败的话则需要重新换源,从网上找几个镜像源,换着试。换源操作就是我上面发的我的文章中关于安装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查看

  2. 添加NAT端口映射

    image-20241106142307160

  3. 浏览器访问IP:11800

    image-20241106142604149

  4. 点击下一步,配置数据库和管理员账号

    image-20241106142921631

  5. 安装完成

    image-20241106142939372

  6. 首页

    image-20241106142952551

  7. 登陆管理员账号

    image-20241106143009587

    image-20241106155654082

  8. 至此,已部署完成

兰空图床配置邮箱验证

自用的话就没必要配置这个了,可不设置

  1. 系统设置

    image-20241106144134695

    这里开启邮箱验证的话,下面的邮箱配置要配置好

    image-20241106144207439

    我用的是139的邮箱,根据邮箱中的安全设置配置即可,用户名为邮箱,密码为授权码

    image-20241106144349718

  2. 注册新账号用于测试

    image-20241106144813580

  3. 登录

    image-20241106145039514

  4. 这时,邮箱中就会出现验证邮件,点击链接验证即可

    image-20241106145018398

  5. 验证通过后就没有红色提示了

    image-20241106145119402

配合PicGo实现批量上传

  1. 使用Apifox或Postman请求一个token,新建一个快捷请求

    image-20241106150416389

  2. 请求方式改为post,Header添加参数Accept

    image-20241106150654934

  3. Body按要求添加参数email和password

    image-20241106150758804

    image-20241106151250429

  4. 发送请求,得到token,保存好,这个token只会在这里出现一次,以后再获取只会获得不同的token

    image-20241106151003204

  5. 新建一个相册,按F12,找到网络,然后点击左上角的相册,查看相册id,这里相册id为1

    image-20241106145842026

  6. 打开picgo,安装自定义Web图床插件

    image-20241106151448031

  7. 安装完成后,在图床设置中会出现自定义Web图床选项

    image-20241106151727347

  8. 点击+号,新建配置

    image-20241106151822919

    其他的都照着填就行,就自定义请求头需要特殊说一下,之前获取token时,是 数字|字符串的格式,这里的Authorization只需要后面的字符串,且前面要拼上Bearer (要有空格!),整体格式为

    {"Authorization": "Bearer Qxxxxxxxxxxxxxxxxxxxxxxxxxx"}

    自定义body用于指定上传的相册,若不填写的话,你应该在设置中将默认上传相册设置好,否则应该无法上传成功

    image-20241106152136782

  9. 点击确定保存配置,在上传区中选择刚才添加的雨云-兰空图床

    image-20241106152234809

  10. 测试

    image-20241106152339701

    上传成功!

    image-20241106152937603

    使用外链打开

    image-20241106153158746

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/7103.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何对数据库的表字段加密解密处理?

对于表格数据的加密处理,通常涉及到对数据库中存储的数据进行加密,以保护敏感信息。 Java示例(使用AES算法加密数据库表数据) 首先,你需要一个数据库连接,这里假设你使用的是JDBC连接MySQL数据库。以下是…

LLM训练”中的“分布式训练并行技术;分布式训练并行技术

目录 “LLM训练”中的“分布式训练并行技术” 分布式训练并行技术 数据并行 流水线并行:按阶段(stage)进行切分 张量并行 序列并行 多维混合并行 自动并行 MOE并行 重要的分布式AI框架 “LLM训练”中的“分布式训练并行技术” 随着深度学习技术的不断发展,特别是…

TS学习笔记

一、TS运行环境搭建 1、安装 安装命令 npm i -g typescript 第一步:新建index.html和demo.ts 第二步:在index.html引入demo.ts文件 第三步:运行TS的命令 tsc demo.ts 注意:运行命令后,会将ts文件转换成js文件 …

ubuntu 22.04 server 安装 和 初始化 LTS

ubuntu 22.04 server 安装 和 初始化 下载地址 https://releases.ubuntu.com/jammy/ 使用的镜像是 ubuntu-22.04.5-live-server-amd64.iso usb 启动盘制作工具 https://rufus.ie/zh/ rufus-4.6p.exe 需要主板 支持 UEFI 启动 Ubuntu22.04.4-server安装 流程 https://b…

Python接口自动化测试实战

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 接口自动化测试是指通过编写程序来模拟用户的行为,对接口进行自动化测试。Python是一种流行的编程语言,它在接口自动化测试中得到了广泛…

day01 - web开发简介

本课程涉及到的技术: Vue ElementUI/Html Js SpringBoot–Spring SpringMvc MyBatis(Plus) SSM Axios 学习路径: 前端主要: Html5css3JavaScript(JQuery)–>Vue(Node.js也可以学习一 下,服务端js)ElementUi(uni-app) 后端主要…

qt QMessageBox详解

1、概述 QMessageBox是Qt库中的一个类,它用于在图形用户界面(GUI)程序中显示消息框。消息框是一种用于向用户显示信息、警告、错误或询问用户确认的对话框。QMessageBox可以显示文本、图标和按钮,并允许自定义按钮的文本和功能。…

简易版 python调用cuda方法

目标: 手写一些cuda库, 使用python调用这些库 (Linux) 步骤一: 在linux上安装pybind11 方法1: sudo apt-get install python3-pybind11 方法2: git clone https://github.com/pybind/pybind11.git, 如果将其放在项目目录下的话可以不编译 步骤二: 编写CUDA代码 示例: gpu_l…

51单片机学习心得2(基于STC89C52):串口通信(UART)

串口通信(UART) 电平标准 (注意:单片机中常使用TTL电平) 上图中第一种与第二种电平传输信号有效距离只有十几米,距离超出后会传输数据错误;但是第三种电平传输的有效距离可达上千米。 常用通信…

gitlab-runner中搭建nvm、nrm以及优化maven打包

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 gitlab-runner中搭建nvm、nrm以及优化maven打包 git、gitlab-runner如何以gitlab-runner执行nvm、…

一文读懂:AIOps 从自动化运维到智能化运维

今天跟大家聊一聊AIOps(人工智能运维) 为了应对企业面临着日益复杂的运营挑战,AIOps(人工智能运维)作为一种创新的方法应运而生,结合了人工智能和机器学习技术,来提升IT运营的效率和性能。 这…

Java反射

动态代理 java.lang.reflect.Proxy:提供了为对象产生代理的方法&#xff1a; public static Object newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h) loader&#xff1a;指定用哪个类加载器&#xff0c;去加载生成的代理类。interfa…

废弃物分类分割系统:入门训练营

废弃物分类分割系统源码&#xff06;数据集分享 [yolov8-seg-C2f-DCNV2-Dynamic&#xff06;yolov8-seg-C2f-DWR等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Glob…

策划方案思路大公开,让你的创意更有市场!

各位营销界的脑洞大开者们&#xff0c;是不是又在为如何让你的创意在市场上大放异彩而绞尽脑汁&#xff1f; 别担心&#xff0c;今天我就来给你揭秘几个策划方案的新思路&#xff0c;让你的创意不仅有料&#xff0c;还有市场&#xff01; 一、紧跟热点&#xff0c;借势营销 …

软件著作权申请教程(超详细)(2024新版)软著申请

目录 一、注册账号与实名登记 二、材料准备 三、申请步骤 1.办理身份 2.软件申请信息 3.软件开发信息 4.软件功能与特点 5.填报完成 一、注册账号与实名登记 首先我们需要在官网里面注册一个账号&#xff0c;并且完成实名认证&#xff0c;一般是注册【个人】的身份。中…

L1G3000 提示工程(Prompt Engineering)

什么是Prompt(提示词)? Prompt是一种灵活、多样化的输入方式&#xff0c;可以用于指导大语言模型生成各种类型的内容。什么是提示工程? 提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。 六大基本原则: 指令要清晰提供参考内容复杂的任务拆…

【Windows】X-DOC:无需NAS使用Windows也能安装Jellyfin玩私人影音媒体平台

【Windows】X-DOC&#xff1a;无需NAS使用Windows也能安装Jellyfin玩私人影音媒体平台 1、前言2、Jellyfin服务搭建2.1 Jellyfin简介2.2 Jellyfin下载2.3 Jellyfin安装2.4 Jellyfin设置2.5 Jellyfin使用 3、终端访问3.1 浏览器访问 4、内网穿透 1、前言 下载收藏高清电影、电视…

基于C语言实现的图书管理系统

使用Visual Studio 2022编译工具进行编写代码的。 项目源码直接奉上: book1.h头文件: #ifndef __BOOK1_H //预处理用于条件编译 避免头文件反复包含 #define __BOOK1_H#include<stdio.h> #include <string.h> #include<stdlib.h> #include<stdbool.h&g…

<项目代码>YOLOv8 煤矸石识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

[C++] cpphttplib使用https而不是http

前言 首先我们假设是直接使用 httplib.h 的源文件。 支持 https 根据readme来看&#xff0c;需要开启一个宏&#xff0c;链接libssl和libcrypto就可以了。 下载openssl 保姆级OpenSSL下载及安装教程 选择非light的版本&#xff0c;这样才会有头文件和lib库引入文件。 编写C…