当前位置: 首页 > news >正文

CFimagehost私人图床本地部署结合cpolar内网穿透实现公网访问

文章目录

  • 1.前言
  • 2. CFImagehost网站搭建
    • 2.1 CFImagehost下载和安装
    • 2.2 CFImagehost网页测试
    • 2.3 cpolar的安装和注册
  • 3.本地网页发布
    • 3.1 Cpolar临时数据隧道
    • 3.2 Cpolar稳定隧道(云端设置)
    • 3.3.Cpolar稳定隧道(本地设置)
  • 4.公网访问测试
  • 5.结语

1.前言

图片服务器也称作图床,可以说是互联网存储中最重要的应用之一,不仅网站需要图床提供的外链调取图片,个人或企业也用图床存储各种图片,方便随时访问查看。不过由于图床很不挣钱,各互联网大厂正在逐步关停所属的图床服务器,这也导致用户只能自己想办法,搭建自己的图床服务器。今天,笔者就为大家介绍,如何使用Cpolar+ CFImagehost,搭建简洁易用的私人图床。

2. CFImagehost网站搭建

CFImagehost在国外是一款非常知名的图床程序,国内使用的人数也不少。其外观设计和功能布局都做的简洁易用,对于用户阿狸说非常友好。不过美中不足的是,CFImagehost目前没有官方汉化,导致某些页面的中文显示不够完美。不管怎么说CFImagehost还是一款值得一用的图床程序。

2.1 CFImagehost下载和安装

CFImagehost是一款开源程序,因此我们可以在github上找到下载(https://github.com/wbbim/cfimagehost-on-openshift)。同时,在网上也有很多经汉化的CFImagehost的源码,大家按需选择即可。

20230526091301

CFImagehost下载完成后,将下载的压缩包解压,就能得到CFImagehost的源码文件夹。将这个文件夹粘贴到网站文件夹下,笔者使用的是phpstudy集成面板,因此将CFImagehost文件夹粘贴到phpstudy的WWW文件夹下。

20230526091302

20230526091303

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

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

  • 域名 - 本地打开CFImagehost网站时输入的域名,可随意输入;
  • 端口 - CFImagehost网站的网页输出端口,只要未被占用即可;
  • 根目录 – 即CFImagehost网站文件存放位置,在这个例子中,笔者将这些文件放在phpstudy的www文件夹下;
  • 程序类型 – 由于CFImagehost网站是一个轻量化的web程序,运行需要依赖php5X以上,因此笔者选择php7.2.9(注:经过实测使用后,感觉php5.6兼容性更好,大家可以根据实际情况选择)。
  • 数据库 – CFImagehost网站设置时并不一定要配置数据库,在网站安装过程中也会进行数据库配置,不过为了节省安装时间,笔者选择在此时设置数据库信息。

注:关于伪静态规则,Apache自带了伪静态规则,因此不必进行额外设(笔者也选择了Apache作为网页程序)。但如果使用Nginx作为网页程序,则需要将以下代码写入伪静态规则中。

rewrite /pm-(.*)\.(jpg|png|gif|html)$ /index.php?pm=$1;
rewrite /pt-(.*)\.(jpg|png|gif|html)$ /index.php?pt=$1;
rewrite /dt-(.*)\.(jpg|png|gif)$ /index.php?dt=$1;
rewrite /dm-(.*)\.(jpg|png|gif)$ /index.php?dm=$1;
rewrite /di-(.*)\.(jpg|jpeg|png|gif|bmp)$ /index.php?di=$1;
rewrite /gallery/(.*)\/$ /gallery.php?p=$1;

完成相关设置后,就可以点击最下方的确认按钮,保存CFImagehost网站的设置。

20230526091304

接着我们在浏览器地址栏中输入本地地址:端口号(这里笔者输入的是localhost:82),就可以进入CFImagehost网站的安装程序。网站安装过程与其他网站无异,只要根据网页提示进行操作即可。

20230526091305

20230526091306

在这里,CFImagehost会对安装环境进行检查,我们要注意的是需要开启php的GDcURL两项扩展。

20230526091307

在这一步CFImagehost会对数据库进行检查,如果在pgpstudy没有设立数据库的,CFImagehost会在这步进行数据库设置,

20230526091308

CFImagehost网站安装完成后,我们回到CFImagehost的根目录,将install文件夹整个删除,否则访问CFImagehost网站时会重复显示CFImagehost网站安装页面。

20230526091309

2.2 CFImagehost网页测试

完成CFImagehost网站网站安装后,我们在浏览器地址栏输入本地地址:端口号(localhost:82),就能打开CFImagehost网站的主页面,主页面右上角可以选择网站语言。

20230526091310

如果想要进入CFImagehost网站后台页面,则需要在CFImagehost网站本地地址后面加上admin.php。在后台页面,可以对CFImagehost网站网站进行细节设置。CFImagehost默认的后台管理员登录名为admin,登录密码为password。在进入CFImagehost后台后,应及时修改管理员用户名和密码。

20230526091311

20230526091312

2.3 cpolar的安装和注册

完成CFImagehost网站设置,就可以转入cpolar的安装。相比CFImagehost网站部署,cpolar的安装注册要简单很多。直接在cpolar的官网页面(https://www.cpolar.com/),就能找到“下载”按钮。

20230526091313

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

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

20230526091315

20230526091316

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

20230526091317

20230526091318

3.本地网页发布

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

3.1 Cpolar临时数据隧道

为满足部分客户需要的网页临时测试功能,cpolar可以直接在cpolar户端创建临时数据隧道(每隔24小时重置一次公共互联网地址,)。要创建临时数据隧道,我们直接在本地设备上登录cpolar客户端(在浏览器地址栏输入localhost:9200),并在cpolar客户端主界面点击隧道管理项下的创建隧道按钮,进入创建隧道设置页面。

20230526091319

在“创建隧道”页面,我们需要对几项信息设置,这些信息设置包括:

  • 隧道名称 – 可以看做cpolar客户端的隧道信息注释,只要方便我们分辨即可;
  • 协议 – CFImagehost网站是网页程序,因此选择http协议;
  • 本地地址 – 本地地址即为本地CFImagehost网站的输出端口号,因此这里也填入82;
  • 域名类型 –这里我们可以区分数据隧道是临时使用,或是长期存续。由于我们只是先进行临时测试,因此选择“随机域名”(二级子域名和自定义域名都是长期稳定隧道,需要在cpolar云端预留公共互联网地址)。
  • 地区 – 即服务器所在位置,我们依照实际使用地就近填写即可;

20230526091320

完成这些设置后,就可以点击页面下方的创建按钮,建立一条临时数据隧道。临时数据隧道创建完成后,cpolar客户端会自动跳转至隧道管理项下的隧道列表页面,在这里我们可以看到cpolar本地的所有数据隧道(无论临时还是长期)。我们也可以在这里,对数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

20230526091321

而我们创建的能够连接本地CFImagehost网站的临时公共互联网网址,则可以在状态项下的在线隧道列表中找到。

20230526091322

将这里显示的公共互联网地址粘贴到浏览器地址栏,就能访问到本地的CFImagehost网站页面。

20230526091323

不过,此时的CFImagehost数据隧道还只是临时数据隧道,每24小时就会重置一次公共互联网网址。如果还想要连接本地CFImagehost网页,就需要使用新地址连接。

3.2 Cpolar稳定隧道(云端设置)

如果想要为本地CFImagehost网站设置能长期稳定存在的数据隧道,我们需要先将cpolar升级至VIP版。

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

20230526091325

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

20230526091326

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

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

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

20230526091327

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

20230526091328

3.3.Cpolar稳定隧道(本地设置)

完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。

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

点击客户端主界面左侧隧道管理项下的隧道列表按钮,进入本地隧道的页面,再点击对应隧道的编辑按钮。

20230526091329

在本地隧道的“编辑”页面(与创建本地临时隧道的页面一样),我们只要对域名类型进行修改,就能将cpolar云端设保留的公共互联网地址,与本地cpolar创建的CFImagehost数据隧道连接起来。

我们已经在cpolar云端预留了二级子域名的数据隧道,因此改选为二级子域名(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,该例子中为“CFImagehost”。

20230526091330

完成“域名类型”的更改后,就可以点击页面下方的更新按钮,将cpolar云端的空白数据隧道与本地CFImagehost网站连接起来,即生成了能够长期稳定存在的CFImagehost网站数据隧道。

4.公网访问测试

最后,我们再次进入在线隧道列表页面,将更新后的CFImagehost网站公共互联网地址粘贴到浏览器中,就能看到使用能够长期稳定存在访问的CFImagehost网站,达成了将本地CFImagehost网站发布到公共互联网上的目的。

20230526091331

20230526091332

5.结语

CFImagehost网站只是众多网站源码中的一种,我们还可以在本地设备上安装其他类型的网站源码,部署不同功能和应用场景的网站。这些网站也都可以使用cpolar发布到公共互联网上,让我们的本地设备成为私人网站服务器,为我们的生活和工作带来更大便利。

转载自cpolar极点云文章:【PHP图片托管】免费CFimagehost图床源码搭建私人图床 – 无需数据库支持

相关文章:

CFimagehost私人图床本地部署结合cpolar内网穿透实现公网访问

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…...

uniapp瀑布流布局写法

首先我们要清楚瀑布流是什么? 瀑布流布局(Waterfall Flow Layout),也称为瀑布流式布局,是一种常见的网页或移动应用布局方式,特点是元素以不规则的方式排列,就像瀑布中的流水一样,每…...

蓝桥杯 题库 简单 每日十题 day8

01 扫雷 题目描述 在一个n行列的方格图上有一些位置有地雷,另外一些位置为空。 请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。 输入描述 输入的第一行包含两个整数n,m。 第2行到第n1行每行包含m个整数,相邻整…...

Keepalived 高可用(附带配置实例,联动Nginx和LVS)

Keepalived 一、Keepalived相关知识点概述1.1 单服务的风险(单点故障问题)1.2 一个合格的集群应该具备的特性1.3 VRRP虚拟路由冗余协议1.4 健康检查1.5 ”脑裂“现象 二、Keepalived2.1 Keepalived是什么?2.2 Keepalived体系主要模块及其作用…...

第二证券:今年来港股回购金额超700亿港元 9月近200家公司获增持

本年以来,港股上市公司回购力度不断增强。据恒生指数公司计算,到9月15日,本年以来港股回购金额到达735亿港元,占去年全年总额的70%。该公司预测,2023年港股回购金额可能到达929亿港元,是前5年年度平均水平的…...

Autosar基础——RTE简介

AutoSAR文章目录 AUTomotive Open System Architecture Autosar-简介和历史发展 Autosar-软件架构 Autosar软件组件-Application Layer介绍和SWC(Software Component)类型 Autosar-Runnables(可运行实体) Autosar-OS配置 Autosar IOC机制(核间通信) Autosar实践-CANTp Auto…...

几个国内可用的强大的GPT工具

前言: 人工智能发布至今,过去了九个多月,已经成为了我们不管是工作还是生活中一个重要的辅助工具,大大提升了效率,作为一个人工智能的自然语言处理工具,它给各大行业的提供了一个巨大的生产工具&#xff0c…...

《Python等级考试(1~6级)历届真题解析》专栏总目录

❤️ 专栏名称:《Python等级考试(1~6级)历届真题解析》 🌸 专栏介绍:中国电子学会《全国青少年软件编程等级考试》Python编程(1~6级)历届真题解析。 🚀 订阅专栏:订阅后可…...

在IntelliJ IDEA 中安装阿里P3C以及使用指南

在IntelliJ IDEA 中安装阿里P3C以及使用指南 1.关于阿里p3c1.1说明1.2什么是P3C插件1.3p3c的作用是什么 2 如何在IDEA中安装p3c2.1 插件安装2.2 插件使用 3.参考连接 1.关于阿里p3c 1.1说明 代码规范检查插件P3C,是根据《阿里巴巴java开发手册(黄山版)》转化而成的…...

Java集成支付宝沙箱支付,详细教程(SpringBoot完整版)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、开发前准备?二、使用步骤1、引入库2、配置在 application.yml 里面进行配置:3、alipay的java配置:AplipayConfig.java4、支付…...

详解Nacos和Eureka的区别

文章目录 Eureka是什么Nacos是什么Nacos的实现原理 Nacos和Eureka的区别CAP理论连接方式服务异常剔除操作实例方式自我保护机制 Eureka是什么 Eureka 是Spring Cloud 微服务框架默认的也是推荐的服务注册中心, 由Netflix公司与2012将其开源出来,Eureka基于REST服务开发,主要用…...

在Vue中实现组件间的通信(父子通信,非父子通信,通用通信)

在vue中实现组件间的通信 文章目录 在vue中实现组件间的通信1、组件通信1.1、不同的组件关系和组件通信方案分类1.2、组件通信的解决方案1.3、非父子通信- event bus事件总线 2、prop2.1、prop详解2.2、prop校验2.3、prop & data、单向数据流 3、v-mdoel原理 1、组件通信 …...

LLaMA参数微调方法

1.Adapter Tuning:嵌入在transformer中 新增了一个名为adapter的结构,其核心思想是保持模型其他原始参数不变,只改变adapter的参数,其结构如下图所示: 1.在每一个transformer模块最后都加入一层adapter。 2.adapter首…...

NSSCTF之Misc篇刷题记录(17)

NSSCTF之Misc篇刷题记录(17) [闽盾杯 2021]DNS协议分析[GFCTF 2021]pikapikapika NSSCTF平台:https://www.nssctf.cn/ PS:所有FLAG改为NSSCTF [闽盾杯 2021]DNS协议分析 数据包提示给得是DNS数据包 直接过滤一下 发现 数据里面存…...

红与黑(bfs + dfs 解法)(算法图论基础入门)

红与黑问题 文章目录 红与黑问题前言问题描述bfs 解法dfs 解法 前言 献给阿尔吉侬的花束( 入门级bfs查找 模版解读 错误示范 在之前的博客当中,详细地介绍了这类题目的解法,今天为大家带来一道类似的题目练练手,后续还会更新更有挑战的题目…...

为何学linux及用处

目前企业使用的操作系统无非就是国产类的,windows和linux类。我们要提升自己的技能,需要学习这两款。我记得在大学时期,学习过windows以及linux,但当时觉得又不常用,就学的模棱两可。毕业之后,你会发现&…...

ChatGPT高级数据分析功能

目录 只需上传数据集,系统即可自动进行分析。我们首先进行了一次测试。准备了一份关于二手车的数据,其格式如下: 接下来调用,GPT中的高级数据分析功能,上传数据,并要求进行分析 第一步:自动对数据字段进行详细的解释: 第二步,对数据进行预处理,比如缺失值,基本的…...

共享WiFi贴项目怎么实施与运营,微火为你提供高效解答!

共享WiFi贴是一项有前景的商业项目,不仅可以满足用户对网络的需求,还可以为创业者带来盈利的机会。那么,我们来看看如何有效地开展共享WiFi贴项目。 最重要的是选择合适的位置。共享WiFi贴项目的成功与否很大程度上取决于位置选择。优先选择人…...

计算机组成原理——基础入门总结(二)

上一期的路径:基础入门总结(一) 目录 一.输入输出系统和IO控制方式 二.存储系统的基本概念 三.cache的基本概念和原理 四.CPU的功能和基本结构 五.总线概述 一.输入输出系统和IO控制方式 IO设备又可以被统一称为外部设备~ IO接口&…...

腾讯mini项目-【指标监控服务重构】2023-08-06

今日已办 feature/client_traces_profile 修改 consumer 4个阶段的 spankind将 profile 的 span 作为 root span,保持与 venus 的 follows from 的 link feature/profile-otelclient-metric 将 metric 部分使用新分支 push go.opentelemetry.io/otel/propagatio…...

ruoyi菜单折叠,菜单收缩

问题描述 VUE菜单有一个BUG,当我们点击其它按钮或者首页的时候,已经展示的一级菜单是不会自动收缩的。这个问题也导致很多开发者把一级菜单都换成了二级菜单。 错误展示 错误的效果请看下图。 解决方法 1、寻找菜单文件 因为我使用的是ruoyi的前端框…...

Linux 用户和用户组

Linux中关于权限的管控级别有2个级别,分别是: 针对用户的权限控制 针对用户组的权限控制 比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。 1、用户组管理 1.1、创建用户组 groupadd 用户组名 1.2、删除用户组 groupdel 用户…...

JavaBean文字格斗游戏(面向对象编程)的个人重写以及个人解释

题目和个人思路: 先写role类(对象)和构造方法(要按照标准的JavaBean来写) 根据题意,类中要有一个行为(方法)->攻击 开始进入main中, 首先当然是要创建两个对象,然后调用(攻击)attack方法 以上都是个人经过学习后重新又写的代码. 望各位指出不足....

动态面板案例分析

动态面板模型分析 如果在面板模型中,解释变量包括被解释变量的滞后值,此时则称之为“动态面板模型”,其目的是处理内生性问题。动态面板模型发展分为3个阶段,第1阶段是由Arellano and Bond(1991)提出的差分GMM(difference GMM)&a…...

vuepress+gitee免费搭建个人博客(无保留版)

文章目录 最终效果,一睹为快!一、工具选型二、什么是VuePress三、准备工作3.1 node 安装3.2 Git安装3.3 Gitee账号注册四、搭建步骤4.1 初始化VuePress4.2 安装VuePress4.3 初始化目录4.4 编写文章五、部署到Gitee5.1 创建仓库5.2 个人空间地址设置4.3 推送本地博客项目到Git…...

Java中的隐式转换和强制转换底层是怎么做的?

目录 1. 回顾数值型基本数据类型共有哪些? 2. 什么时候进行隐式类型转换? 3. 数据类型的隐式转换规则 4. 特殊隐式转换规则需牢记 5. 隐式转换小练习 5.1 byte 与 byte 如何转? 5.2 int,long,double 的转换 5.…...

Hbuilder本地调试微信H5项目(一)

摘要 通过内网穿透,访问本地Hbuilder创建的Vue项目 前置准备 下载并安装【HBuilder】,本文用的是HBuilder3.8.12版本,下载地址 下载并安装【微信开发者工具】,本文用的是1.06版本,下载地址 下载并安装【natapp】&a…...

OPC DCOM快速配置

目录 1 老系统配置 1.1 移除Windows 安全 1.2 建立相互能识别的用户账号 1.3 配置系统宽泛的DCOM设置 1.4 配置Server的特殊DCOM设置 1.5 恢复Windows安全 1 老系统配置 远程OPC访问必须在服务器和客户端两端配置DCOM。本文讲述如何正确配置 DCOM 的步骤并保证安全。 新…...

软件设计模式

1.UML 1.1类图表示法 uml类图中,类使用包含类名、属性、方法 属性或方法前的加好和减号表示了这个方法的可见性,可见性的符号有三种: 表示public -表示private #表示protected 1.2 类与类之间关系 关联关系 单向关联 双向关系 自关联 聚合关…...

Git常见场景命令总结

1、查看远程仓库标签/分支 git ls-remote --tags origin git ls-remote --heads origin2、删除远程仓库标签/分支 git push origin --delete refs/tags/my_tag3、删除本地标签/分支 git branch -d <branch_name>4、修改代码但未add回滚 git checkout -- <file1>…...

wordpress 固定链接插件/软文范例大全100

零基础学软件之HTML语言 讲师介绍&#xff1a; 胡延亮&#xff0c;CEO/董事长/总经理&#xff0c;从事软件开发10年&#xff0c;熟悉软件开发流程&#xff0c;精通WEB系统程序开发。先后参与水利厅,环保厅&#xff0c;国税局&#xff0c;国土资源厅等重大项目的建设。精通地理信…...

做营销看的网站/排名查询系统

在浏览器地址栏输入地址&#xff0c;在页面上想通过脚本弹出一个框&#xff0c;看到Controller下有个JavaScript方法&#xff0c;返回的类型是JavaScriptResult&#xff0c;于是想用这个方法弹出框&#xff0c; public ActionResult Index(){ return this.JavaScript("&l…...

贵阳网站建设托管/嵌入式培训班一般多少钱

学习写一个最简单的web交互页面&#xff0c;可以向apache传送数据&#xff0c;通过cgi接受&#xff0c;并返回数据。 示例代码 View Code <input id"my" type"submit" value"submit"/><script type"text/javascript"> …...

做影视网站什么cms好用/佛山百度seo点击软件

接上一次的&#xff0c;假如我们无法从目标软件中搜索到自己手机中的修改器的包名&#xff0c;甚至是连其他修改器包名也没有的&#xff0c;那我们应该怎么办&#xff1f; 对了&#xff0c;没错&#xff0c;我们可以选择修改我们修改器的包名&#xff0c;这时候&#xff0c;我们…...

做直播的小视频在线观看网站/产品推广介绍怎么写

目录 Python基础小结一.执行Python程序的两种方式1.1交互式1.2 命令行式二、执行Python程序的两种IDE2.1 Pycharm2.3 Jupyter三.变量3.1 什么变量&#xff1f;3.2 变量的组成?3.3 变量名的定义规范3.4 定义变量的两种方式3.5 常量四、注释4.1单行注释4.2 多行注释4.3 引用计数…...

ASP动态网站开发毕业设计指导及实例/aso关键词优化工具

作者&#xff1a; | 上传时间&#xff1a;2009-11-16 | 关键字&#xff1a;QinQ技术&#xff08;也称Stacked VLAN 或Double VLAN&#xff09;是指将用户私网VLAN标签封装在公网VLAN标签中&#xff0c;使报文带着两层VLAN标签穿越运营商的骨干网络&#xff0c;在公网中只根…...