【Lychee图床】本地电脑搭建私人图床,公网远程访问

news2024/11/23 9:07:06

文章目录

  • 1.前言
  • 2. Lychee网站搭建
    • 2.1. Lychee下载和安装
    • 2.2 Lychee网页测试
    • 2.3 cpolar的安装和注册
  • 3.本地网页发布
    • 3.1 Cpolar云端设置
    • 3.2 Cpolar本地设置
  • 4.公网访问测试
  • 5.结语

转发自CSDN风浪越大%鱼越贵的文章:Lychee图床 - 本地配置属于自己的相册管理系统并远程访问

1.前言

图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可以作为我们存放照片的存储空间,也可以建立外链成为网站或者文章的图片来源。但随着大厂运营的云存储日薄西山,各个图床的日子也不好过,甚至有的图床已经关门歇业。在这样的情况下,自建图床似乎成了唯一靠谱的选择。今天,笔者就为大家展示,使用Cpolar+ Lychee,建立一个简洁漂亮的私人图床网站。

2. Lychee网站搭建

Lychee是一款基于php的开源免费图床软件,正如其名称的翻译一样,Lychee也如荔枝一样干净透明,并且还能提供方便的图片操作编辑分组,以及用户管理、图片预览和外链等功能。对于私人用户来说,无疑是十分友好的。

2.1. Lychee下载和安装

由于lychee是开源项目,因此很自然的可以在github上找到其下载链接,当然也可以从其官网进入下载页面。

  • https://lychee.electerious.com
  • https://github.com/LycheeOrg/Lychee

20230428105301

20230428105302

Lychee的相关文件下载完成后,将下载的压缩包解压,并将文件放到运行环境的站点根目录中,笔者使用的是phpstudy作为网站运行环境,因此将lychee的网站文件放在WWW文件夹下。

20230428105303

20230428105304

接着,打开phpstudy,在软件主界面左侧点击“网站”按钮,进入网站列表页面,点击左上的“创建网站”按钮,进入新建网站的设置页面。

在网站设置页面,我们需要进行设置的内容并不多,只要设置:

  • 域名 - 本地lychee网站的域名,可随意输入;
  • 端口 – 本地lychee网页的输出端口,只要选择未被占用的端口即可;
  • 根目录 – 即lychee网页文件存放位置;
  • 程序类型 –lychee是web图床程序,运行需要依赖php7.2+,因此选择php7.2.9
  • 创建数据库 – 由于lychee网站运行需要依赖数据库,因此我们也要为lychee设置数据库,只要勾选“创建环境”列的“创建数据库”即可。

这些设置完成后,就可以点击最下方的“确认”按钮,保存lychee网站的设置。

20230428105305

需要注意的是,lychee的安装需要一些php的扩展组件,包括:Session、exif、mbstring、gd、mysqli、json、zip、imagick、optionally

好在phpstudy提供了PHP扩展的勾选项,让我们不必再一一配置这些PHP扩展(这也是笔者喜欢使用集成环境部署网站的原因)

20230428105306

2.2 Lychee网页测试

设置好lychee网页后,就可以在浏览器中输入localhost:端口号,访问到本地的lychee网页登录界面,此处需要输入的登录账户和密码,则是之前设置lychee网站的数据库登录名和密码。

20230428105307

20230428105308

2.3 cpolar的安装和注册

完成lychee网站的设置后,就能继续安装cpolar。与lychee网站的安装一样,cpolar也可以直接在cpolar的官网页面找到下载按钮。

cpolar官网:https://www.cpolar.com/

20230428105309

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件,即可自动执行安装程序。接着只要一路“Next”就能完成安装。

20230428105311

20230428105312

为保证数据安全,cpolar会为每个用户创建独立的数据隧道,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要点击cpolar主页右上角额“用户注册”,在注册页面填入必要信息,就能完成注册。

20230428105313

20230428105314

3.本地网页发布

到这里,我们完成了本地lychee图床网站的搭建,并安装了cpolar内网穿透程序,接下来我们就可以使用cpolar,创建一个内网穿透数据隧道,让我们能在公共互联网上访问本地的lychee图床网站。

3.1 Cpolar云端设置

通常免费版cpolar创建的数据隧道每24小时重置一次,为保证我们的图床网站能够长期稳定存续,因此笔者将cpolar升级至vip版。

下一步,我们登录cpolar的官网,在用户主页面左侧找到“预留”按钮,并点击进入cpolar的数据隧道预留页面。在这里设置一个公共互联网地址(可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。

20230428105315

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择“保留二级子域名”栏位。

20230428105316

在“保留二级子域名”栏位,需要进行几项信息的简单设置,即

  • 地区(服务器所在区域,就近选择即可)
  • 二级域名(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)
  • 描述(可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。

完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

20230428105317

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

20230428105318

3.2 Cpolar本地设置

完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来,让我们能在公共互联网上访问到本地的测试页面。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

20230428105319

点击客户端主界面左侧“隧道管理”项下的“创建隧道”按钮,进入本地隧道创建页面(如果要创建每24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在cpolar客户端创建隧道的页面,同样需要进行几项信息设置,这些信息设置包括:

1. 隧道名称 – 即cpolar本地隧道的注释,只要方便我们分辨即可;
2. 协议 – 由于的测试页面是网页,因此选择http协议;
3. 本地地址 –即为本地网站的输出端口号,因此这里也填入86;
4. 域名类型 – 由于我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,这里我们填入“lycheeweb”。
但如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址;

5. 地区 – 与cpolar云端预留的信息一样,我们按实际使用地填写即可;

20230428105320

完成这些设置后,就可以点击页面下方的“创建”按钮,创建起能在公共互联网访问本地lychee网站的数据隧道。我们可以在“隧道管理”项下的“隧道列表”页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,对这条数据隧道的信息进行修改。

20230428105321

4.公网访问测试

最后,我们点击左侧“状态”项下的“在线隧道列表”按钮,就能找到lychee网站的公共互联网地址。

20230428105322

将这个地址粘贴到浏览器中,就能看到本地lychee网站的登录页面,在输入登录名和密码后,就可以在公共互联网上访问到本地的图床页面。

20230428105323

20230428105324

5.结语

至此,我们就完成了本地lychee图床的部署,并通过cpolar生成的内网穿透数据隧道,将其发布到公共互联网,让我们本地的电脑成为私人图床,当然,cpolar还可以配合其他网站或软件,在其他应用场景中发挥作用。

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

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

相关文章

快速入手光学字符识别控件Aspose.OCR!如何从PDF中提取文本

Aspose.OCR是一款字符识别组件,它使得开发人员可以添加OCR功能到他们的ASP.NET Web应用程序、web服务和windows应用程序中。它提供了一个简单的类集用于控制字符识别。Aspose.OCR目的是为那些需要在他们自己的应用程序中使用图像(BMP和TIFF)的…

软件设计师计算机系统知识点笔记大总结

数据寄存器是一个中转站 指令寄存器 ir 保存暂存指令(操作码加地址吗等于指令) 地址寄存器 保存当前cpu所访问的内存单元地址 程序计数器 保存的是下一条指令的地址 状态寄存器 标志运算的结果 类似 0()状态寄存器是运算器中的部件…

Ansible Automation Platform - 用 API 访问 Ansible Automation Platform

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 Ansible Automation Platform 2.3 的环境中验证 文章目录 AAP 的 API 索引Host 主机列表 API通过 API 操作 Ansible Automation Platform 说明:以下命令中 mycontroller-aap.apps-crc.t…

论文阅读-17-Deep Long-Tailed Learning: A Survey---3.3 Module Improvement

文章目录 1. Representation Learning1.1 Metric learning(1) large margin local embedding LMLE①##### ②##### ③ (2) Range loss(3) CRL(4) KCL(5) Hybrid(6) PaCo(7) DRO-LT 1.2 Sequential training(1) HFL(2) Unequal-training 1.3 Prototype learning(1) OLTR(2) IEM …

PPT背景图片怎么设置?4个详细教程在这!

案例:PPT背景图片怎么设置? 【因为论文答辩,最近需要制作PPT,昨晚之后感觉有点单调,我想设置一个背景图片,让我的PPT看起来更有风格,请问大家是怎么设置PPT背景图片的呢?】 PPT背景…

容器中的operator[]注意事项

首先看一张表格&#xff0c;支持operator[]的容器包括string、array、vector、deque、map、unordered_map&#xff0c;顺序容器和关联容器的operator[]不太一致。 string中的operator[] 在pos < size()时返回到位于指定位置pos的字符的引用&#xff0c;或在pos size()时…

信息安全数学基础笔记

三个数学难题: 群的定义: 满足乘法结合律&#xff0c;有单位元&#xff0c;逆元即为群&#xff0c;如果同时满足交换律则为交换群 满足乘法结合律&#xff0c;有单位元即为半群&#xff0c;如果同时满足交换律则为交换半群 希尔密码: 其中加密矩阵为n阶一般线性群&#xff0c;…

视频与音频一键同步嘴型数字人ai工具分享

在ai发展的今天,各种虚拟主播工具层出不穷,我们在选择ai工具的适合往往陷入一个使用陷阱。 比如, 看演示视频效果非常不错,自己去用却跟智障一样的。出现这种情况,我们首先不去评价这个工具的好用,我们得分析别人使用的前置条件。 大部分前置条件都是大量的训练数据, …

进程通信和信号量

1.进程通信 管道&#xff1a;包括无名管道(pipe)和命名管道(named pipe),无名管道可用于具有父进程和子进程之间的通信。命名管道除具有管道所具有的所有功能外&#xff0c;它还允许无亲缘关系进程间的通信。消息队列&#xff1a;进程可以向队列中添加消息&#xff0c;其他进程…

代码量原地缩减50%,这个Java工具类库太香了

Guava是google公司开发的一款Java类库扩展工具包&#xff0c;内含了丰富的API&#xff0c;涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码&#xff0c;使代码更为优雅&#xff0c;另一方面它补充了很多jdk中没有的功能&#xff0c;能让我们开发中更…

长沙银行财报启示录:“生态引擎”如何突破“低维竞争”?

众多行业当中&#xff0c;银行业一直被当做“经济晴雨表”。 今年以来&#xff0c;中国经济开启回暖模式。尤其是在前不久的五一假期&#xff0c;各地消费回暖&#xff0c;释放出经济持续向好的积极信号。此时&#xff0c;也正是各家银行发布成绩单的财报季&#xff0c;能发现…

OPC UA Client接口库

OPC UA库秉承简单、易用、可靠的设计理念&#xff0c;只需少量接口即可实现所需功能&#xff0c;同时使用者无需考虑多线程&#xff0c;时序等问题 1. 拷贝代码文件 将 \JngOpcUaClient\JngOpcUaClient\Input\ 文件夹拷贝到项目中&#xff0c;添加到项目。 2. 拷贝dll库及Secu…

ES+Redis+MySQL,高可用架构设计方案

ES高可用方案 1. ES双中心主备集群架构 全平台所有体系的会员总量是十多亿。在这么大的数据体量下&#xff0c;业务线的查询维度也比较复杂。有的业务线基于手机号&#xff0c;有的基于微信unionid&#xff0c;也有的基于卡号等查询会员信息。这么大的数据量&#xff0c;又有…

Java基础(40)反射机制

Java反射机制是 Java 语言的一个重要特性。先了解两个概念&#xff0c;编译期和运行期。编译期是指把源码交给编译器编译成计算机可以执行的文件的过程。在 Java 中也就是把 Java 代码编成 class 文件的过程。编译期只是做了一些翻译功能&#xff0c;并没有把代码放在内存中运行…

平平无奇的Python为什么能一跃成为世界排名第一的语言

一、前言 本文将结合个人经历为各位同学客观的分析是否有学习Python的必要、Python适合谁学、为什么要学&#xff0c;希望能够给看到此文章的同学一点建议&#xff0c;树立学习目标&#xff0c;让学习有结果。 读完后&#xff0c;相信你一定能够有所收获。 二、简述个人经历…

Word控件Spire.Doc 【文本框】教程(4):如何将图像插入文本框

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

swift闭包底层本质

swift学习笔记 闭包底层原理 1、函数赋值给一个变量 func getFn(_ a: Int) -> Int {return a 1 }let funcVar getFn当在把一个函数赋值给一个变量funcVar的时候&#xff0c;funcVar变量会存储两个东西 funcVar总共占用16个字节前八个字节存储着getFn的函数地址后八个字…

浅聊一下NTP

浅聊一下NTP 仅了解&#xff0c;没实践过NTP 文章目录 浅聊一下NTP1.什么是NTP2.基本原理3.工作模式1.单播服务器/客户端模式2.对等体模式3.广播模式4.组播模式 4.NTP数据报文 1.什么是NTP 网络时间协议NTP&#xff08;Network Time Protocol&#xff09;是TCP/IP协议族里面…

PowerShell系列(三):PowerShell发展历程梳理

目录 1、PowerShell 1.0 版本特性 2、PowerShell 2.0 版本特性 3、PowerShell 3.0 版本特性 4、PowerShell 4.0 版本特性 5、PowerShell 5.0 版本特性 6、PowerShell 5.1 版本特性 7、PowerShell6.0 Core 版本特性 8、PowerShell7.0 Core 版本特性 今天给大家聊…

openAI图像生成开发文档

图像生成 了解如何使用我们的 DALLE 型号 介绍 图像 API 提供了三种与图像交互的方法&#xff1a; 根据文本提示从头开始创建图像根据新的文本提示创建现有图像的编辑创建现有图像的变体 本指南介绍了使用这三个 API 终结点的基础知识以及有用的代码示例。要了解它们的实际…