如何用废弃电脑变成服务器搭建web网站(公网访问零成本)

文章目录

  • 💻 如何用废弃电脑变成服务器搭建 Web 网站(公网访问零成本)
    • 一、背景与目标
      • ✅ 本文目标:
    • 二、准备工作(软硬件需求)
      • 🧱 1. 硬件需求
      • 🧰 2. 软件环境准备
    • 三、快速搭建一个 Flask + Vue 的 Web 网站
      • ✅ 第1步:创建 Flask 后端项目
      • ✅ 第2步:创建 Vue 前端项目
    • 四、免费实现公网访问:Cloudflare Tunnel 全流程
      • ❓ 1. 什么是 Cloudflare Tunnel?
      • ✅ 2. Cloudflare Tunnel 实战步骤
        • (1)注册 Cloudflare 账号
        • (2)添加站点
        • (3)下载并安装 `cloudflared` 工具
        • (4)登录 Cloudflare
        • (5)创建 tunnel 并绑定本地服务
    • 五、自动化部署建议
      • ✅ Windows:
      • ✅ Linux:
    • 六、常见问题排查
    • 七、总结与后续拓展
      • 🎯 后续你可以拓展部署的项目:

💻 如何用废弃电脑变成服务器搭建 Web 网站(公网访问零成本)


一、背景与目标

你是否有一台吃灰的旧笔记本电脑?你是否想搭建一个自己的网站,甚至把它放到网上给别人访问?传统方式可能需要花钱买服务器、配置公网 IP、操作麻烦。而我们今天要做的,是:

用你手边的废弃电脑(比如旧笔记本),搭建一个本地服务器,并使用 Cloudflare Tunnel 免费实现公网访问,0成本上线一个 Web 网站!

✅ 本文目标:

  • 把一台废弃电脑(Windows/Linux)变成一台 后端 Flask + 前端 Vue 的 Web 服务器
  • 0 花费实现公网访问(不需要买公网 IP,不需要租服务器)
  • 可用于搭建资源站、博客站、API服务、自用管理系统等

二、准备工作(软硬件需求)

🧱 1. 硬件需求

名称要求
废旧笔记本建议内存≥4G,系统 Win10 或 Ubuntu
网络稳定联网即可(支持 IPv4 即可)
电源建议插电使用,避免中断

如果是台式电脑,也一样适用。


🧰 2. 软件环境准备

我们需要以下软件环境:

目的软件
后端开发Python3 + Flask
前端开发Node.js + Vue CLI
公网访问Cloudflare Tunnel 工具 cloudflared
其他Git(可选)、浏览器、命令行

三、快速搭建一个 Flask + Vue 的 Web 网站

我们先搭建一个最简单的 Flask + Vue 项目,用于后面上线演示。

✅ 第1步:创建 Flask 后端项目

mkdir myserver && cd myserver
python -m venv venv
source venv/bin/activate  # Windows用 venv\Scripts\activate
pip install flask

创建一个 app.py:

from flask import Flask, jsonify
app = Flask(__name__)@app.route('/')
def hello():return jsonify({"msg": "你好,来自 Flask 的后端!"})if __name__ == '__main__':app.run(host='0.0.0.0', port=5000)

然后运行:

python app.py

浏览器访问 http://localhost:5000,你应该能看到一段 JSON 文本:{"msg": "你好,来自 Flask 的后端!"}


✅ 第2步:创建 Vue 前端项目

确保你已经安装了 Node.js,建议版本 ≥ 16。然后执行:

npm install -g @vue/cli
vue create my-frontend
cd my-frontend
npm run serve

这时 Vue 默认监听 http://localhost:8080,你可以把它改成请求 Flask 后端的数据,后续我也会配合 Cloudflare Tunnel 展示如何整合。


四、免费实现公网访问:Cloudflare Tunnel 全流程

这部分我们重点讲清楚两个问题:

❓ 1. 什么是 Cloudflare Tunnel?

Cloudflare Tunnel 是 Cloudflare 提供的一种“内网穿透”方案:

  • 本质上它在你的电脑与 Cloudflare 网络之间建了一个“隧道”;
  • 外部用户访问 Cloudflare 提供的网址,Cloudflare 再转发到你电脑上的 Flask 服务;
  • 整个过程是加密安全的,并不暴露你的真实 IP,也不需要配置路由器!

简而言之,它是一个免费的公网访问神器。


✅ 2. Cloudflare Tunnel 实战步骤

(1)注册 Cloudflare 账号

打开 https://dash.cloudflare.com,用邮箱免费注册一个账号。

(2)添加站点

你可以用自己已有的域名,也可以用 Cloudflare 提供的临时域名(推荐后者,零成本)。

建议添加一个网站,如 yourname.cf,不一定需要备案,用作演示即可。

(3)下载并安装 cloudflared 工具

这是 Cloudflare 提供的命令行工具,用来开启 tunnel:

  • Windows 版本:
    https://developers.cloudflare.com/cloudflared/install-windows/

  • Linux 安装命令:

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

安装完成后,检查是否成功:

cloudflared --version

(4)登录 Cloudflare
cloudflared login

运行后会自动打开一个浏览器,选择你在 Cloudflare 添加的网站即可。


(5)创建 tunnel 并绑定本地服务

例如我们要将本地的 Flask 服务(5000端口)暴露到公网:

cloudflared tunnel create flask-server

然后:

cloudflared tunnel route dns flask-server flask.yourname.cf

最后运行:

cloudflared tunnel run flask-server

这时你就可以通过 https://flask.yourname.cf 访问到你电脑上的 Flask 项目啦!



五、自动化部署建议

为了让 tunnel 在电脑重启后也能自动运行,可以设置以下方式:

✅ Windows:

创建一个 bat 文件 start_tunnel.bat

@echo off
cloudflared tunnel run flask-server

然后设置任务计划,开机自动运行即可。


✅ Linux:

可以用 systemd 服务或 nohup + cron,更稳定。

nohup cloudflared tunnel run flask-server > tunnel.log &

六、常见问题排查

问题解决方法
tunnel 运行后打不开检查 Flask 是否运行,或端口是否设置正确
提示未登录 Cloudflare再次运行 cloudflared login 绑定账号
本地网络不通检查防火墙设置或端口是否被占用

七、总结与后续拓展

通过本文,你已经掌握了如何用旧电脑:

  • 快速搭建 Web 服务(Flask + Vue)
  • 使用 Cloudflare Tunnel 实现 0 成本公网访问
  • 项目部署到线上、支持访问、无需公网 IP!

🎯 后续你可以拓展部署的项目:

  • Flask + Vue 做成资源下载站、后台管理系统
  • Jupyter Notebook 在线访问(远程学习)
  • 文件管理系统、个人博客系统等

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

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

相关文章

〔从零搭建〕指标体系平台部署指南

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨杭州奥零数据科技官网&#xf…

Vue3 中watch和computed

Vue 3 中 computed 与 watch 深度解析 在 Vue 3 组合中&#xff0c;响应式工具的类型安全使用至关重要。以下是详细说明 一、watch 侦听器 1. 基础类型监听 <template><div>实际参数1{{count}}</div><div><button click"count">点…

.NET测试工具Parasoft dotTEST:全兼容RMS的测试解决方案

随着项目规模扩大&#xff0c;需求管理变得复杂&#xff0c;如何高效追溯需求与测试的关联性成为一大挑战。Parasoft dotTEST 提供了一套强大的需求追溯解决方案&#xff0c;不仅能自动关联单元测试结果与需求&#xff0c;还能兼容几乎所有需求管理系统&#xff08;RMS&#xf…

基于Jeecgboot3.8.1的vue3版本前后端分离的flowable流程管理平台

初步迁移完成了基于jeecgboot3.8.1的vue3版本的前后端流程管理平台,基于flowable6.8.0,同时支持bpmn流程设计器与仿钉钉流程设计器。 功能类似于3.6.3,但增加了一些以下功能: 1、支持多租户 2、支持并行网关的任意跳转、退回与驳回 3、流程表达式 这里流程表达式定义四…

IP 限流 vs. URI 限流

背景&#xff1a; 昨天调程序的时候遇到了一个 BUG&#xff0c;前端无法将文件正确传给后端&#xff0c;后端报错 EOFException&#xff08;EOF 代表 End Of File&#xff09;就是在程序尝试从一个数据流中读取数据时&#xff0c;发现已经到达了数据流的末尾&#xff0c;但它却…

2025年Java常见面试题(持续更新)

数据库事务特性。原子性、一致性、隔离性、持久性如何防止SQL注入&#xff1a;使用#不要使用$符号&#xff1b;对所有的入参做校验&#xff1b;使用存储过程&#xff1b;执行预处理语句和参数化查询&#xff1b;最低权限原则&#xff1b;微服务拆分的原则&#xff1a;微服务的拆…

Spring AI ——在springboot应用中实现基本聊天功能(ChatModel)

文章目录 前言项目版本依赖引入配置key信息编写测试接口注入ChatModel并普通返回注入ChatModel并流式返回自定义模型对象并直接返回总结前言 在Spring AI 中,CchatClient 是一个所有大模型通用性的调用方式,对绝大多数大模型的功能点都具备封装和见解调用性。 但这一点在部…

78、系统工程生命周期阶段及方法

一、系统工程生命周期的七大阶段 系统工程生命周期涵盖从概念萌芽到系统退役的全过程&#xff0c;通常分为以下七个阶段&#xff0c;每个阶段具有明确目标与核心任务&#xff1a; 1.探索性研究阶段 目标&#xff1a;识别利益相关者需求&#xff0c;探索技术可行性。任务&…

二十九、【用户体验篇】个人中心:用户资料展示与密码修改

二十九、【用户体验篇】个人中心:用户资料展示与密码修改 前言准备工作第一部分:后端实现 - 个人中心 API1. 修改 `UserDetailSerializer` 以支持密码修改2. 在 `api/views.py` 中添加 `UserMeView` 和 `PasswordChangeView`3. 注册个人中心相关 API 路由4. 后端初步测试第二…

STEP-BACK PROMPTING:退一步:通过抽象在大型语言模型中唤起推理能力

摘要 我们提出了 STEP-BACK PROMPTING&#xff0c;这是一种简单的提示技术&#xff0c;可以让LLM进行抽象&#xff0c;从包含具体细节的实例中推导出高层次概念和第一性原理。利用这些概念和原理来引导推理过程&#xff0c;LLM在朝向正确解答路径上显著提升了推理能力。我们在…

Paimon vs. HBase:全链路开销对比

Paimon 在特定场景&#xff08;如流式 Lookup Join&#xff09;下&#xff0c;会为了极致的查询性能而引入额外的存储&#xff08;本地磁盘 LookupFile&#xff09;和计算&#xff08;构建 LookupFile&#xff09;开销。但这是一种用一次性的、可控的开销&#xff0c;换取后续持…

本地的包名导致的AttributeError: module ‘langchain‘ has no attribute ‘verbose‘

你遇到的 AttributeError: module langchain has no attribute verbose 问题&#xff0c;确实可能是因为你的本地文件或目录名与 langchain 官方包冲突&#xff0c;导致 Python 在导入时优先加载了你的本地文件而非真正的 langchain 库。 问题原因 Python 模块加载机制&#xf…

玄机——某学校系统中挖矿病毒应急排查

本篇文章主要记录某学校长期未运营维护的程序&#xff0c;被黑客发现了漏洞&#xff0c;但好在学校有全流量设备&#xff0c;抓取到了过程中的流量包 需要你进行上机以及结合流量分析&#xff0c;排查攻击者利用的漏洞以及上传利用成功的木马 文章目录 靶机介绍1.使用工具分析共…

如何解决wordpress批量删除媒体库中的图片很慢甚至卡死问题

批量删除WordPress媒体库中的图片速度很慢&#xff0c;如果批量删除的图片多会出现CPU100%甚至卡死&#xff0c;出现这个问题通常最主要的原因是服务器性能问题&#xff0c;如果换成性能好的服务器就不会了&#xff0c;比如换Siteground 家的服务器&#xff0c;就不会有这个问题…

深度学习入门day4--手写数字识别初探

鱼书提供的代码可以在github找到。源码地址 环境配置部分可以看前面几篇博客&#xff0c;还是用Anaconda&#xff0c;运行下面代码&#xff0c;可以看哪个库缺失。 import importlib import numpy as np deps {"torch": "torch","torchvision"…

STM32中定时器配置,HAL_Delay的原理,滴答定时器,微秒延时实现,PWM,呼吸灯

目录 定时器基本定时功能实现 CubeMX设置 手动书写代码部分 定时器启动 实现溢出回调函数 HAL_Delay介绍 HAL_Delay实现原理 HAL_Delay的优点 HAL_Delay的缺点 利用滴答定时器(SysTick)实现微秒级延时 PWM PWM介绍 通用定时器中的重要寄存器 PWM中的捕获比较通道 …

飞牛NAS(fnOS)详细安装教程

以下是飞牛NAS&#xff08;fnOS&#xff09;的详细安装教程&#xff0c;结合官方指南和社区实践整理而成&#xff1a; 一、准备工作 硬件需求 8GB或更大容量的U盘&#xff08;用于制作启动盘&#xff09;待安装设备&#xff08;支持x86架构的物理机或迷你主机&#xff0c;如天钡…

springboot 显示打印加载bean耗时工具类

一 spring的原生接口说明 1.1 接口说明 Aware是Spring框架提供的一组特殊接口&#xff0c;可以让Bean从Spring容器中拿到一些资源信息。 BeanFactoryAware&#xff1a;实现该接口&#xff0c;可以访问BeanFactory对象&#xff0c;从而获取Bean在容器中的相关信息。 Environm…

OpenGL空间站场景实现方案

OpenGL空间站场景实现方案 需求分析 根据任务要求,我需要完成一个基于Nehe OpenGL的空间站场景,实现以下功能: 完整的空间站场景建模(包含多个模型和纹理贴图)Phong光照模型实现(包含多种光源和材质效果)摄像机键盘控制交互功能解决方案设计 技术栈 C++编程语言OpenG…

基于昇腾310B4的YOLOv8目标检测推理

YOLOv8目标检测 om 模型推理 本篇博客将手把手教你如何将 YOLOv8 目标检测模型部署到华为昇腾 310B4 开发板上进行高效推理&#xff08;其他昇腾开发版也可参考此流程&#xff09;。 整个流程包括&#xff1a; 模型格式转换&#xff08;ONNX → OM&#xff09;昇腾推理环境配…