一文教你如何本地搭建Qchan图床网站实现公网远程访问

文章目录

    • 前言
    • 1. Qchan网站搭建
      • 1.1 Qchan下载和安装
      • 1.2 Qchan网页测试
      • 1.3 cpolar的安装和注册
    • 2. 本地网页发布
      • 2.1 Cpolar云端设置
      • 2.2 Cpolar本地设置
    • 3. 公网访问测试
    • 总结

前言

图床作为云存储的一项重要应用场景,在大量开发人员的努力下,已经开发出大量专用的图床程序,这些程序有的大而全,有的小而美,完美覆盖了不同强度的应用场景。而随着小型硬件的发展(如树莓派等),超轻量级的图床程序又焕发出新的生机。今天,笔者就为大家介绍一款超轻量级的图床程序qchan,并与cpolar配合,打造一个私人图床。

1. Qchan网站搭建

Qchan是一款开源图床程序,其运行只依赖php5.3及以上,不需要数据库和伪静态规则,如果需要搬家,只要一股脑打包带走即可,非常方便。虽然qchan运行环境要求很低,但功能并不算弱,拥有一般图床软件的功能,如批量上传、URL上传、拖拽上传、自动生成缩略图等。对于个人来说已经基本够用。

1.1 Qchan下载和安装

Qchan作为免费程序,自然会在github上占有一席之地,不过鉴于github的薛定谔状态,还可从其他地址下载(https://zhujiwiki.com/wp-content/uploads/2017/09/1323520562.zip)

(https://github.com/qakcn/qchan)

img

Qchan压缩包下载完成后,将其解压并粘贴到网页运行环境中。笔者使用的是phpstudy集成面板,因此将文件粘贴到phpstudy的WWW文件夹下。

img

image-20230908134902023

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

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

域名 - 本地访问Qchan网站时输入的域名,可随意输入;

端口 - Qchan网页的输出端口,只要未被占用即可;

根目录 – 即Qchan网页文件存放位置,在这个例子中,笔者将这些文件放在phpstudy的www文件夹下;

程序类型 – 由于Qchan是一个轻量化的web程序,运行需要依赖php5.3以上,因此笔者选择php5.5

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

image-20230908134927671

1.2 Qchan网页测试

由于不需要数据库,仅凭php就能运行qchan图床网站,因此我们可以直接在浏览器地址栏中输入“localhost:端口号”就能访问qchan网站,再输入“localhost:端口号/manage”就能进入qchan网站的后台,网站默认的登录名和密码均为“admin”

img

1.3 cpolar的安装和注册

与Qchan网页安装一样,cpolar的安装注册同样简单易行。我们直接访问cpolar的官网页面(www.cpolar.com),找到“下载”按钮。

img

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

img

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

img

image-20230908135210515

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

img

image-20230908135300478

2. 本地网页发布

到这里,我们在本地安装了Qchan网页,并安装了cpolar内网穿透程序,接下来我们就可以使用cpolar,创建一个能够连接本地测试页面的公共互联网地址,让我们能在公共互联网上访问到Qchan网站。

2.1 Cpolar云端设置

由于cpolar免费版的数据隧道每24小时重置一次,笔者并不想每天进行重连设置,因此升级cpolar至vip版,以便创建能长期稳定存在的数据隧道,方便随时访问本地的Qchan网站。

下一步,我们着手将本地的Qchan页面穿透内网,进行公共互联网访问。要达到长期稳定内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到“预留”按钮,并点击进入cpolar的数据隧道预留页面。

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

image-20230908135423925

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

image-20230908135442410

在“保留二级子域名”栏位,需要进行几项信息的简单设置,即“地区”(服务器所在区域,就近选择即可)、“二级域名”(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)和“描述”(可以看作这条数据隧道的描述,能够与其他隧道区分开即可)。完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

image-20230908135502940

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

image-20230908135526079

2.2 Cpolar本地设置

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

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

image-20230908135605960

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

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

隧道名称 – 可以看做cpolar本地的隧道信息注释,只要方便分辨即可;

协议 – 由于Qchan是网页程序,因此选择http协议;

本地地址 – 本地地址即为Qchan网站的输出端口号,而我们设置的端口为81,因此这里也填入81;

域名类型 – 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,该例子中为“qchanweb”。如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址;

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

image-20230908135625493

完成这些设置后,就可以点击页面下方的“创建”按钮,将cpolar云端的空白数据隧道与本地Qchan页面连接起来,也就为我们提供了可以在公共互联网访问本地Qchan页面的数据隧道。

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

image-20230908135642317

3. 公网访问测试

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

image-20230908135733649

image-20230908135744905

总结

虽然Qchan网页程序非常小巧,但功能并不算弱,像这样的私人图床程序还有很多,我们可以以同样流程,搭配cpolar内网穿透程序,将其变为专属的私人云图床。

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

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

相关文章

代码随想录 Leetcode77.组合

题目&#xff1a; 代码&#xff08;首刷看解析 2024年2月1日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> path;void backtracing(int n, int k, int startIndex) {if (path.size() k) {res.push_back(path);re…

windows pm2 执行 npm脚本或执行yarn脚本遇到的问题及解决方案

环境&#xff1a; 在windows上启动终端来运行一个项目&#xff1b;通过指令npm run start来启动&#xff0c;但是将终端一关&#xff0c;就无法访问了&#xff0c;所以想到用pm2来管理 1. 全局安装pm2 npm i pm2 -g2. 在项目根目录执行指令(大部分兄弟的错误使用方法) pm2 st…

微信小程序(二十七)列表渲染改变量名

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.改变默认循环单元item变量名 2.改变默认循环下标index变量名 基础模板有问题可以先看上一篇 源码&#xff1a; index.wxml <view class"students"><view class"item"><te…

解释性人工智能(XAI)

引言 解释性人工智能&#xff08;XAI&#xff09;是指一类旨在使人能够理解和解释机器学习模型的方法和技术。XAI的目标是提高AI系统的透明度和可理解性&#xff0c;让人们能够理解机器学习模型的决策过程、推理方式和结果。这对于社会应用和用户信任非常重要&#xff0c;因为A…

推荐系统|排序_融合预估分数

因为点赞率、收藏率和转发率是不同维度的数据&#xff0c;需要将其整合成一个数据&#xff0c;从而方便比较。 方法就是乘上对应的权重。而点赞、收藏和转发都是发生在点击之后的&#xff0c;也就是说会有先后的关系&#xff0c;概率会以乘的形式出现。 特殊的&#xff0c;当…

2023爱分析·数据智能厂商全景报告|爱分析报告

利用多种数据智能技术实现数据驱动的分析与决策&#xff0c;已经成为当前企业数字化转型最重要的目标之一。随着数据来源日益丰富、数据体量快速增长&#xff0c;企业对数据的依赖和挖掘愈发深入&#xff0c;不仅带来数据应用场景、数据用户角色的复杂和多元&#xff0c;也使得…

【MATLAB源码-第131期】基于matlab的淘金优化算法(GRO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 淘金优化算法&#xff08;GoldRush Optimizer&#xff0c;简称GRO&#xff09;是一种启发式优化算法&#xff0c;它受到淘金过程的启发。在淘金过程中&#xff0c;淘金者在河流或矿区中寻找金矿&#xff0c;通过筛选沙砾来寻…

在 WLC上配置WPA2-Enterprise WLAN

实验大纲 第1部分&#xff1a;创建一个新的WLAN 第1步&#xff1a;创建一个新的VLAN接口 第2步&#xff1a;配置WLC让它使用RADIUS服务器 第3步&#xff1a;创建一个新的WLAN 第4步&#xff1a;配置WLAN安全策略 第2部分&#xff1a;配置DHCP范围和SNMP 第1步&#xff1…

基于SpringBoot+Vue学科竞赛管理系统(详细讲解及源码资料)

文章目录 基于SpringBootVue学科竞赛管理系统1系统概述1.3系统设计思想 2相关技术2.1 MYSQL数据库2.2 B/S结构2.3 Spring Boot框架简介2.4 Vue简介 3系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性 3.2系统性能分析3.2.1 系统安全性3.2.2 数据完整性 3.4…

Spring结合工厂模式

学习设计模式&#xff0c;不要进入一个误区生搬硬套&#xff0c;它是一种编程思想&#xff0c;结合实际使用&#xff0c;往往设计模式是混合使用的 工厂模式 核心本质&#xff1a;使用工厂统一管理对象的创建&#xff0c;将调用者跟实现类解耦 我这里使用Spring容器的支持&am…

GPT-5的功能界面曝光。。。

最近网络上流传的照片是否真实尚不可知&#xff0c;我们需要进一步的核实与分析。 GPT-5的预期发布已经引起了业界的极大关注。根据Roemmele的透露&#xff0c;GPT-5将是一个革命性的多模态模型&#xff0c;能够支持语音、图像、编程代码和视频等多种格式&#xff0c;这标志着…

【XR806开发板试用】全志 XR806 OpenHarmony 鸿蒙系统固件烧录

大家好&#xff0c;我是极智视界&#xff0c;本教程详细记录了全志 XR806 OpenHarmony 鸿蒙系统固件烧录的方法。 在上一篇文章《【嵌入式AI】全志 XR806 OpenHarmony 鸿蒙系统固件编译》中咱们已经编译生成了系统镜像&#xff0c;这里把这个编译出来的镜像烧录到 XR806 板子里…

华为云幻兽帕鲁服务器搭建教程

华为云作为国内领先的云服务提供商&#xff0c;提供了丰富的云服务产品和解决方案&#xff0c;本文将介绍基于华为云服务器搭建幻兽帕鲁服务器&#xff0c;助力大家快速部署属于自己的游戏联机服务器&#xff01; 第一步&#xff1a;购买服务器 华为云推出了游戏联机服务专用便…

Elasticsearch Windows版安装配置

Elasticsearch简介 Elasticsearch是一个开源的搜索文献的引擎&#xff0c;大概含义就是你通过Rest请求告诉它关键字&#xff0c;他给你返回对应的内容&#xff0c;就这么简单。 Elasticsearch封装了Lucene&#xff0c;Lucene是apache软件基金会一个开放源代码的全文检索引擎工…

Spark入门01-Spark简介

1 Spark是什么 Spark是用于大规模数据处理的统一分析引擎。对任意类型的数据进行自定义计算。 可以计算&#xff1a;结构化、非结构化&#xff0c;半结构化的数据结构&#xff0c;支持使用Python&#xff0c;Java&#xff0c;Scala、Sql语言开发应用程序计算数据。 计算框架&a…

一文掌握SpringBoot注解之@Configuration知识文集(1)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

STM32G4 系列命名规则

STM32G4产品线 基础型系列STM32G4x1 具有入门级模拟外设配置&#xff0c;单存储区Flash&#xff0c;支持的Flash存储器容量范围从32到512KB。 增强型系列STM32G4x3 与基本型器件相比具有更多数量的模拟外设&#xff0c;以及双存储区Flash&#xff0c;Flash存储器容量也提高…

Docker 入门第一篇 安装Docker Desktop并结合Springboot在Idea中应用

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期专栏回顾 专栏描述…

ISCTF wp

web 圣杯战争 题目源码 <?php highlight_file(__FILE__); error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择了对的武器!<br>";return $this->excalibuer->arrow;} }class pre…

web项目部署,一篇就搞定!

web部署的方式有很多&#xff0c;根据开发方式不同&#xff0c;部署方式也不同。最通用是docker部署&#xff0c;这个想必大家都熟悉。我们今天说另外一种。 部署过程 1、验证Jdk是否安装成功 2、验证Tomcat是否安装成功 3、验证Navicat 是否能连上数据库 4、创建数据库并导入…