打造个人高效图床系统:威联通NAS+兰空+PicGo全方位整合教程

b0d0dcb59905fed08b9852334434061f.jpeg

1.图床选择

最近因为家里人有使用图床的需求,又担心第三方图床跑路导致数据丢失,恰好家里有个威联通NAS,还有公网IP和域名,既然如此,那就动手自建一个图床吧,毕竟开源的图床应用还是有很多的。

一上来就在好几个开源图床间纠结,最终在 https://hostloc.com/thread-988538-1-1.html 找到一个网友投票,那就从众吧,选择了兰空图床。

e035052caf465caf7a7429e81edcca7c.jpeg

2.创建图床容器

首先我们在威联通中使用FileStation创建一个文件夹用于存放图床的文件内容。

9cfde35d7bc3916e1236aafb9b1c13cd.jpeg

然后去docker hub社区搜索兰空图床镜像。

e212806be229b599679277695879754c.jpeg

找到下载和收藏量最高的镜像,这里大家可以直接拷贝镜像名:halcyonazure/lsky-pro-docker,然后打开威联通上的容器工作站,创建一个容器,填写镜像名,然后点击下一步。

ae8ffff1eb79c768d95faf405702d2db.jpeg

在“配置容器”选项页中,先配置一个映射端口,用于我们后续通过Ip和端口访问图床后台页面,只要端口不与其他应用冲突就行。

先别点击下一步,点击左下角的“高级设置”,我们设置下映射目录。

593ce481ec80ed2363ec6f82f94ea7a8.jpeg

选择左侧的“存储”,如下图所示选择“绑定装载主机路径”选项。

f2a109e90aa9e64b8bbd35b2e831ba52.jpeg

“主机”路径选择我们一开始在威联通主机上创建的存储文件夹,“容器”路径填写为:/var/www/html,这样做的目的是为了避免容器损坏或重建时图片数据丢失。

8809564c5a828a243c04c99c30c545e6.jpeg

上述配置完成后,我们点击完成,开始容器创建流程。

0ff8d6d7c95458d5720a32194148def1.jpeg

稍等一小下,如下图所示,容器创建完成。

9a170a1cac6976382098d4d25935cbf8.jpeg

3.初始化设置

我们可以使用http://IP:端口的形式访问兰空图床页面,第一次访问会打开安装设置页面。

cd6d42a29983fb15902555e3bd4148b9.jpeg

选择数据库为sqllite,设置管理员账号的邮箱和登录密码。信息设置完成后,点击“立即安装”。

7eba66c3baf9237ddab33cde80d542a9.jpeg

如下图所示,初始化安装成功。

b133895d0b85040ac14de1f6a6b3e435.jpeg

接下来我们再通过IP:端口的方式进行访问,会打开图片上传页面,我们点击右上角的“登录”选项,使用上面填写的邮箱账号和密码登录后台,进行一系列设置。

44b8136642fd80854935109d3507e87b.jpeg

登录成功后,界面如下所示,有很多管理员设置选项。

f6653021bdf21a1965a2f262cd4b1392.jpeg

系统设置里可以修改一系列限制、注册、空间大小等,如果是私人使用,那就关闭注册和游客上传吧。

c50560a0e3947cc19bb17046345f436a.jpeg

4.设置公网访问

试着上传一张图片,可以得到图片链接,在浏览器访问这个链接就可以看到上传的图片啦。不过这里得到的是内网地址,通过公网是无法访问的,接下来我们使用Nginx Proxy Manager(下文简称NPM)进行反向代理,实现公网访问。

0781ed9ca272dc0d7406da45fcb732a0.jpeg

我们在NPM中新增域名代理,在Details中设置内网地址和端口。

579959499861fd229a24a05be339bfc2.jpeg

设置SSL访问和证书。

69451d913899a21fc6d097eecd281eb0.jpeg

还要一步也很重要,在Advanced选项中配置自定义规则,缺少这些配置,会导致页面无法正常显示。

43b21366fcfed6edfaf8269de9c1b5ff.jpeg

代码如下所示,记得修改IP和端口。

location / {
    # We set up the reverse proxy
    proxy_pass         http://内网IP:端口;
    proxy_http_version 1.1;

    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_redirect     http:// $scheme://;
    proxy_set_header   Host $http_host;
  }

接下来去DDNS-GO设置DDNS上报,将我们的域名和IP地址的映射关系上报给域名服务器。上报成功后,会在DNS服务器增加一条规则,后面就可以直接使用域名访问了。

ec053cd87658559c925356309354291c.jpeg

如果一切顺利的话,就可以通过域名进行访问啦,因为我关闭了游客上传,所以在没有登录的情况下访问会默认进入登录页,页面如下图所示。

24d919c9d9313589505fae54631a7d47.jpeg

如果缺少上面说的NPM自定义规则,访问页面会展示异常,缺少样式文件,如下图所示的异常状态。

b94058d8ea5e70cc67f78fc5a77dbeb1.jpeg

登录成功后,记得去图床中修改访问网址,改为域名访问,这样上传图片后得到的图片链接就是带域名格式的链接,可以直接在公网访问。

7e683a3b2d5bf555f57ff7d53654a7a5.jpeg

将之前的内网IP地址改为你的域名地址。

5547922817c14e2dbc843c964163d680.jpeg

还有一点,如果你想对上传的图片进行压缩,或者设置图片的转换格式,可以在角色组中进行设置,如下图所示,我将图片格式设置为webp,将图片保存质量设置为75。

89a062c43a0403f19a4c6e65fd526664.jpeg

5.安装快捷传图工具

如果每次都打开网页上传图片还是挺麻烦的,接下来我们安装一个小工具PicGo,实现图片自动上传和链接拷贝。

PicGo的安装请看我之前的文章,有非常详细的介绍。PicGo安装好之后,我们需要获取兰空图床的token,后面在插件中需要用到。这里我使用的是postman来获取V2版本的token,使用POST访问兰空图床token获取地址,格式为:域名/api/v1/tokens,在Body中使用form-data格式设置email和password,最后点击Send发起请求,拷贝结果中的token信息备用。

163af93aec913b01379ff86d70f2d568.jpeg

PicGo安装好之后,我们需要安装兰空图床的插件,可以搜索“lsky”,安装如图所示lankong插件。

369eb72ea972de3ecfa466ea77ca561e.jpeg

插件安装成功后,在左侧图床设置下选择“lankong”,编辑相关配置。

5922d12a6e385d27b80ff6822f56c590.jpeg

如下图所示选择V2版本,填写你的域名和token,需要在token前添加 Bearer ,填写完成后点“确定”保存配置信息,注意在token字符串“1”前面有个空格。

35cee0cca793350b6e78917db028ae75.jpeg

接下来选择插件左侧的“上传区”,选择刚才编辑的“兰空”图床上传图片测试。

17d91fab6e872848778d846eadb8f814.jpeg

上传成功后就可以得到图片链接,如下图所示还会有消息提示。

42cefe02510ddeca7d8c868bcaef9b5c.jpeg

PicGo插件支持快捷键传图,可以实现截图或者复制图片到粘贴板后使用快捷键一键传图,不需要再打开这个工具,非常方便!如果你感兴趣的话,可以看看我之前的图床文章,有详细的介绍。

通过上面的步骤我们就在威联通上安装好了自己的图床应用,并实现快捷传图和公网访问,所有数据一手掌握,从此再也不怕第三方图床跑路啦!

本文使用到的NPM和DDNS-GO在我之前的文章中有详细介绍,如果你没有看过的话,强烈推荐一读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

掌握数据相关性新利器:基于R、Python的Copula变量相关性分析及AI大模型应用探索

在工程、水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克服的困难。例如,…

写JDBC遇到的问题

执行会出现以下错误信息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ? and loginPwd ? at line 1 at com.mysql.cj.jdbc.exceptions…

spark3.x新特性

Adaptive Query Execution自适应查询(SparkSQL) 由于缺乏或者不准确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想 在Spark3.x版本提供Adaptive Query Execution自适应查询技术 通过在”…

数据结构顺序表的初始化,头插,尾插,头删,尾删,指定位置删除,指定位置插入,查找,销毁(详解)

目录 前言顺序表的介绍静态顺序表动态顺序表一.顺序表的初始化二.销毁扩容顺序表打印顺序表三.头插四.尾插五.头删六.尾删七.指定位置之前(包括指定位置)的插入八.指定位置数据的删除九.查找全部的代码实现总结 前言 数据结构是什么? 数据结…

碘浊度法与红外相机联用测定食品中维生素C

🌞欢迎来到看论文的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2024年4月6日&…

1.微服务

一、微服务是什么 微服务是一种架构风格,即,一个应用应该是一组小型服务,每个服务器只负责一种服务,服务之间可以通过 HTTP 的方式进行互通。每一个功能元素最终都是一个可独立替换和独立升级的软件单元。 可以说,微…

网络编程套接字应用分享【Linux C/C++ 】【UDP应用 | TCP应用 | TCP线程池小项目】

目录 前提知识 1. 理解源ip,目的ip和Macip 2. 端口号 3. 初识TCP,UDP协议 4. 网络字节序 5. socket 编程 sockaddr类型 一,基于udp协议编程 1. socket——创建套接字 2. bind——将套接字强绑定 3. recvfrom——接受数据 4. s…

c++11的重要特性2

可变参数模板在3中。 目录 ​编辑 1、统一的列表初始化: std::initializer_list: std::initializer_list是什么类型: std::initializer_list使用场景: 让模拟实现的vector也支持{}初始化和赋值 2、声明 auto decltype nul…

「每日跟读」英语常用句型公式 第4篇

「每日跟读」英语常用句型公式 第4篇 1. I’ve decided to ____ 我决定要____了 I’ve decided to take a vacation (我决定要去度假) I’ve decided to change my lifestyle (我决定要改变我的生活方式) I’ve decided to adopt a dog (我决定要收养一条狗了) I’ve dec…

【深度学习环境配置】一文弄懂cuda,cudnn,NVIDIA Driver version,cudatoolkit的关系

【深度学习环境配置】一文弄懂cuda,cuDNN,NVIDIA Driver version,cudatoolkit的关系 NVIDIA Driver version(NVIDIA驱动程序)CUDAcuDNNcudatoolkit深度学习环境配置顺序 今天突然发现配置的环境有些问题,意…

使用阿里云试用Elasticsearch学习:2.6 深入搜索——控制相关度

处理结构化数据(比如:时间、数字、字符串、枚举)的数据库,只需检查文档(或关系数据库里的行)是否与查询匹配。 布尔的是/非匹配是全文搜索的基础,但不止如此,我们还要知道每个文档与…

java日志框架简介

文章目录 概要常用日志框架常见框架有以下:slf4j StaticLoggerBinder绑定过程(slf4j-api-1.7.32 )JCL 运行时动态查找过程:(commons-logging-1.2)使用桥接修改具体日志实现 一行日志的打印过程开源框架日志…

【图论】【分类讨论】LeetCode3017按距离统计房屋对数目

本文涉及的知识点 图论 分类讨论 本题同解 【差分数组】【图论】【分类讨论】【整除以2】3017按距离统计房屋对数目 LeetCode3017按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中,存在编号从 1 到 n 的房屋,由 n 条街道相连。对所有 …

服务效率飙升!2024最新Zoho Desk功能解析

2024年,立足于服务经济浪潮,如何为您的客户提供优质服务,高效解决客户工单,赢得客户美誉度,是当下各行企业的着力点。 在企业中,与客户发生最直接接触的就是客户服务部门。规范化客服部门业务流程&#xf…

【JavaWeb】Day36.MySQL概述——数据库设计-DDL(三)

查询 关于表结构的查询操作,工作中一般都是直接基于图形化界面操作。 1.查询当前数据库所有表 2.查看指定表结构 3.查询指定表的建表语句 注意:23版的点击导航中的转到DDL 修改 关于表结构的修改操作,一般也是直接基于图形化界面操作。 添…

LeetCode---127双周赛

题目列表 3095. 或值至少 K 的最短子数组 I 3096. 得到更多分数的最少关卡数目 3097. 或值至少为 K 的最短子数组 II 3098. 求出所有子序列的能量和 一、或值至少k的最短子数组I&II 暴力的做法大家都会,这里就不说了,下面我们来看看如何进行优化…

彩虹易支付接口配置

支付通道配置 基本概念 彩虹易支付系统有强大的支付接口扩展能力,首先需要明白以下几个概念。 支付方式: 支付方式用于定义发起支付的调用值(在前台开发文档里面显示)与支付方式名称。目前系统自带6种支付方式,它们的…

腾讯云最新活动及优惠券领取指南

随着云计算技术的不断发展和普及,越来越多的企业和个人选择将业务迁移到云端。腾讯云作为国内领先的云计算服务提供商,经常推出各种优惠活动,以帮助用户降低成本、提高效率。本文将为大家详细介绍腾讯云的最新活动及优惠券领取指南&#xff0…

猫头虎分享已解决Bug || **Error (通用错误)** 全景剖析

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

数学杂谈之一:数学的形态

数学杂谈之一:数学的形态 数学的形态可以根据不同的角度和视角进行分类和描述。下面是从数学的发展和应用的不同角度进行的分类: 原始形态:原始形态是指数学的发展和应用起源的形态。它涉及到数学的理论构建、证明和发现过程,是数…