私人图片云盘 - 本地快速搭建简单的EasyImage图床并实现公网访问

news2024/12/22 20:19:46

文章目录

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

1.前言

一个好的图床,是网站或者文章图片能稳定显示的关键,可是很多图床要么不稳定,要么收费,导致网站或文章图片经常挂掉,笔者也碰到这样的困扰。为了能让自己的图片稳定显示,笔者打算用cpolar内网穿透+ EasyImage组合,自建一个图床网站,避免图片不显示问题。

2. EasyImage网站搭建

简单图床EasyImage,是一款免费开源的图床程序,虽然它是开源程序,但功能一点也不弱,不仅支持多文件上传、文字/图片水印、支持API和鉴黄、还能自定义代码,最重要的是它不强制使用数据库运行,这就给我们的部署和维护带来极大方便。现在,就让我们开始吧。

2.1. EasyImage下载和安装

首先,我们下载EasyImage的压缩包,可以在官网找到下载地址:

  • https://github.com/icret/EasyImages2.0/releases
  • 或https://github.com/icret/EasyImages2.0

20230428105101

20230428105102

网站文件的压缩包下载完成后,将其解压,并将所有解压后的文件,粘贴到phpstudy的WWW文件夹下。

20230428105103

20230428105104

接着,我们打开phpstudy的主页面,点击网站按钮,进入网站设置页面。在网站设置页面左上方,点击创建网站

20230428105105

由于EasyImage不依赖数据库运行,因此只要设置好域名端口网站根目录php版本几项,即可点击网站设置页面下方的确认按钮,保存设置并生成EasyImage网站。需要注意的是,EasyImage依赖PHP7+以上版本运行,笔者选择了php7.2.9。

接着,我们只要打开设置好的EasyImage网站(可以在phpstudy中右键网站条目,也可以在浏览器输入localhost:端口号打开网站),就能进入EasyImage的安装页面,EasyImage会自动检查网站安装环境,安装环境自检通过后,就可以点击下一步,继续设置管理员账号。

20230428105106

20230428105107

管理员账号设置并没有设么可说的,只要记得登录名和密码即可,接着点击页面下方的开始安装按钮,就能自动进行EasyImage网站的安装,很短时间后,EasyImage安装完成会显示安装完成通知

20230428105108

2.2. EasyImage网页测试

EasyImage在本地安装完成后,我们在本地访问EasyImage网站,就能出现登录页面,输入相应登录名和密码后,就能进入EasyImage网站。

20230428105109

20230428105110

2.3.cpolar的安装和注册

完成EasyImage网站在本地电脑的部署后,就可以转入cpolar的安装。与EasyImage网站一样,cpolar的安装也十分简单。只要直接在cpolar的官网页面找到下载按钮,点击下载cpolar安装包即可。

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

20230428105111

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

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

20230428105113

20230428105114

作为数据隧道软件,cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此在使用cpolar之前,需要进行用户注册。注册过程很简单,只要在cpolar主页右上角点击用户注册,在注册页面填入相关信息,就能完成注册。

20230428105115

20230428105116

3.本地网页发布

完成EasyImage网站的安装,和cpolar内网穿透程序的安装注册,接者就可以使用cpolar内网穿透,创建一个能够连接本地EasyImage网站的公共互联网地址,让我们能在公共互联网上访问到本地的EasyImage图床网站。

3.1.Cpolar云端设置

正如笔者在本文开篇时所说,图床讲究稳定,而cpolar免费版的数据隧道每24小时重置一次。笔者并不想每天进行重连设置,因此升级cpolar至vip版,以便获得长期稳定存在的内网穿透数据隧道。

作为vip客户,要设置能够长期稳定存在的数据隧道,需要先登录cpolar的官网,在用户主页面左侧找到“预留”按钮,并点击进入cpolar的数据隧道预留页面。

在这里生成一个公共互联网地址(可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。

20230428105117

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

20230428105118

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

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

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

20230428105119

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

20230428105120

3.2 Cpolar内网穿透本地设置

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

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

20230428105121

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

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

1. 隧道名称 – 可以看做cpolar本地的隧道信息注释,方便我们区分本地建立的数据隧道;
2. 协议 – 由于EasyImage网站时网页显示,因此选择http协议;
3. 本地地址 – 本地地址即为EasyImage网站的输出端口号,我们已经将输出端口号设置为85,因此这里也填入85;
4. 域名类型 – 由于我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,该例子中为“EasyImageweb”。
如果创建的是临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成公共互联网地址;
5. 地区 – 与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

20230428105122

完成设置后,就可以点击页面下方的创建按钮,将cpolar云端的空白数据隧道,与本地EasyImage网站连接起来。

我们可以在“隧道管理”项下的“隧道列表”页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

20230428105123

4. 公网访问测试

最后,我们点击左侧状态项下的在线隧道列表按钮,在这里找到EasyImage网站的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地EasyImage网站。

20230428105124

20230428105125

5. 结语

图片服务器是我们建立网站的必要条件之一,对于笔者来说,能够将网站服务器与图片服务器放在一起,能够减轻不少网站维护的压力。而且EasyImage网站放置在本地,也能让EasyImage网站成为私人专属的图片云盘。如果有必要,还能让本地的EasyImage网站成为公共互联网的图片网站,不再受网上图床的烦扰。

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

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

相关文章

学习网络安全如何避免成为脚本小子或者安全工具人

想要避免成为工具人或者脚本小子,你需要注意学习初期和工作初期的选择。 首先,在学习初期,打好基础最重要,避免成为脚本小子。 你可能发现很多人仅仅会写个Python然后会用工具,积累一点经验就可以找到一份还不错的工…

传奇人物《周兴和》书连载之67 不辱神圣的使命

不辱神圣的使命 这里,先前还是一个十分神秘的地方。 外人和车辆要想进入这片区域,那是绝对不允许的。这片区域隐于群山之中,且戒备森严,外人若想进入,那是要经过好几道政治审查和随身检查的。近年来,随着…

外卖项目优化-02-mysql主从复制、读写分离(shardingJdbc)、Nginx(反向代理,负载均衡)

文章目录 瑞吉外卖项目优化-Day02课程内容前言1. MySQL主从复制1.1 介绍1.2 搭建1.2.1 准备工作1.2.2 主库配置1.2.3 从库配置 1.3 测试 2. 读写分离案例 (shardingJdbc)2.1 背景介绍2.2 ShardingJDBC介绍2.3 数据库环境2.4 初始工程导入2.5 读写分离配置2.6 测试 3. 项目实现读…

GPT-4等大语言模型对教育的未来意味着什么?

‍ ‍ shadow Mixlab这些年举办了非常多的活动和workshop,都带有很强的教育属性。今天我抽空学习了可汗学院的《AI-for-Education》课程,非常有启发。我记录了精华内容,分享给大家。 课程地址: www.khanacademy.org/college-caree…

8086CPU汇编环境安装

之前是使用XP虚拟机中的DOS窗口,后来在B站上逛到的视频【《汇编语言》速成指南(全程敲代码)】中介绍了DOSBox这个软件,觉得很好用,使用方式记录在这里。 软件下载好是这样: 一、安装BOX程序 双击exe安装 ,默认下一步…

看看好不好用,使用 Netty+SpringBoot 打造的 TCP 长连接通讯方案

项目背景 正文 一、项目架构 二、项目模块 三、业务流程 四、代码详解 五、测试 六、源码 后记 项目背景 最近公司某物联网项目需要使用socket长连接进行消息通讯。本猿为了解决这个问题,经过长时间的研究、调试和测试,最终找到了一个可行的方…

基于ASAM ODS标准的试验数字化平台-WDP

一 现状 随着现代测控技术的提高,数据结构变得越来越复杂多样,测量的数据量也在日益增大。此外,由于试验条件的限制,大多数企业的数据管理方式主要是通过各类电子文档将试验数据保存在每个工程师的移动电脑中,再进行汇…

【技术选型】Elasticsearch 和Solr那个香?

我们为什么在这里?我存在的目的是什么?我应该运动还是休息并节省能量?早起上班或晚起并整夜工作?我应该将炸薯条和番茄酱或蛋黄酱一起吃吗? 这些都是古老的问题,可能有也可能没有答案。其中一些是非常困难或…

值得关注!正在引领行业变革的15家AI明星创业公司

夕小瑶科技说 原创 作者 | 小戏、iven 星星之火,可以燎原。 在大模型横空出世的这个疯狂的春天,一场关于 AI 产品的革命也正在席卷全球。这边是大公司一个接一个模型搞军备竞赛,那边是各路豪强纷纷下场创业招兵买马。那么,除了咱…

PAT A1032 Sharing

1032 Sharing 分数 25 作者 CHEN, Yue 单位 浙江大学 To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, l…

FreeRTOS:任务挂起和恢复

目录 一、任务挂起和恢复定义二、任务挂起2.1含义2.2任务挂起内部实现2.3函数vTaskSuspend() 三、任务恢复3.1含义3.2任务恢复内部实现3.3函数vTaskResume() 四、任务挂起和恢复实验4.1实验要求4.2程序代码 一、任务挂起和恢复定义 有时候我们需要暂停某个任务的运行&#xff…

代码随想录算法训练营第三十二天 | 利润题、覆盖范围题

122.买卖股票的最佳时机II 文档讲解:代码随想录 (programmercarl.com) 视频讲解:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II_哔哩哔哩_bilibili 状态:根本做不出来,思路太巧了。 思路 想获…

浅谈Java、PHP、C++编程的优缺点

Java 、PHP、C 编程语言都是非常流行的编程语言,在开发、Web 开发、移动应用开发等领域都有广泛的应用。本文将从以下几个方面分析 Java、PHP、C 编程语言的优缺点。 一、Java 编程语言的优缺点 优点 (1)具有跨平台特性,能够在不…

Java8中DateTimeFormatter真的是线程安全的吗?

文章目录 [toc] 1.背景2.解决办法2.1办法一:换姿势或者升级JDK的版本2.1办法二:更换文件名称字生成策略 Java8中DateTimeFormatter真的是线程安全的吗? 答案是否定的 1.背景 由于之前写了一个旷世的ocr的服务,接入了旷世的FaceID的人脸比对…

初识WebAssembly

WebAssembly是一种新型的低级字节码格式,它可以在现代的浏览器中运行,同时也支持其它的平台,例如Node.js、Web Worker等。WebAssembly的目标是在Web平台上提供一种高效、安全、可移植的运行时环境,可以被用于执行任意类型的二进制…

ChatGPT实现leetcode 刷题和变型

leetcode 刷题和变型 作为一个程序员,Leetcode 是一个非常重要的网站。它不仅可以帮助程序员提高算法和数据结构的能力,还能帮助我们准备技术面试。但是,刷 Leetcode 也需要花费大量的时间和精力来解决各种难题。那么,有没有什么…

达成事务条件的实现原理

事务存在的意义:保证系统中的数据,都是符合预期的;相互关联的数据之间,不会产生矛盾 达成事务的条件 原子性:一个操作,要么同时成功、要么同时失败 隔离性:各业务,读写相互独立 持…

arm 源码编译kernel 对比image zimage uimage vmlinux

一 源码编译kernel 下载交叉编译工具链 下载cc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz ,这是官网的。使用下面命令下载。 585 wget https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/gcc-linaro-4.9…

每天一道算法练习题--Day22 第一章 --算法专题 --- ----------最大公约数

关于最大公约数有专门的研究。 而在 LeetCode 中虽然没有直接让你求解最大公约数的题目。但是却有一些间接需要你求解最大公约数的题目。 如何求最大公约数? 定义法 def GCD(a: int, b: int) -> int:smaller min(a, b)while smaller:if a % smaller 0 and b …

一个集团企业,如何从0到1构建信息化系统?

当今时代,信息技术已经成为企业发展不可或缺的一部分,特别是对于一个大型集团公司来说,如何构建一个高效的信息化系统对于其业务发展至关重要。 我们想要构建一个优质高效的信息化系统,首先需要了解现在大的趋势是怎样的。 目前…